我正在寻找备用数据导入解决方案。目前我的流程如下:
这个过程有效;但是,步骤1-3需要很长时间,因为加载的文件非常大(大约100万条记录)。
根据一些研究,我发现了一些潜在的解决方案: a)批量导入 - 遗憾的是,由于文件需要转换为平面(或CSV)格式,因此不会消除上述步骤1-3 b)OpenRowSet / OpenDataSource - 这个问题有2个问题。首先,加载需要很长时间(一百万条记录约需2小时)。其次,当我尝试一次加载多个文件(大约20个文件,每个包含100万条记录)时,我收到“内存不足”错误
我没有尝试过SSIS;我听说它有大型xlsx文件的问题
所以这引出了我的问题。是否有任何解决方案/备用选项可以更快地导入大型Excel文件?
非常感谢帮助。
答案 0 :(得分:2)
我喜欢Excel作为数据可视化工具,但它是作为数据传输层的裤子。我的偏好是使用JET/ACE driver进行查询,或使用C#进行non-tabular data。
我没有把它提升到数百万,但我不得不相信第一种方法必须比你现在更快,因为你不必为数据执行双读和写操作
答案 1 :(得分:0)
我之前做过的事情(我提出因为我看到你的文件类型是XLSX而不是XLS)是通过winzip打开文件,拉出XML数据,然后导入它。从2007年开始,XLSX文件实际上是一个包含许多文件夹/文件的zip文件。如果excel文件很简单(不是很多宏,图表,格式化等),你可以从后台的XML文件中提取数据。我知道你可以通过WINZIP看到它,我不知道其他压缩应用程序。