如何在SSIS中将大型Excel文件拆分为多个小文件?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在SSIS中将大型Excel文件拆分为多个小文件?相关的知识,希望对你有一定的参考价值。
我想读取一个250 MB的Excel文件,该文件具有300,000多行。因此,当我尝试在SSIS的Excel源代码中处理它时,它花费了太多时间,最终无法处理。谁能告诉我如何将大文件拆分为小文件或任何其他有帮助的方法?
答案
最好的方法是按块读取数据,我这样做是为了从SQL数据库读取巨大的表。但是要读取大型excel文件,我在C#应用程序中而不是在SSIS中实现了这一点,因为它更加复杂。我将提供一些链接以获取更多信息:
- Reading Huge volume of data from Sqlite to SQL Server fails at pre-execute (SQLite)
- SSIS failing to save packages and reboots Visual Studio (Oracle)
- Optimizing SSIS package for millions of rows with Order by / sort in SQL command and Merge Join ((mysql)]
- Getting top n to n rows from db2 ((DB2)] >>
- OutOfMemoryException while trying to read big Excel file into DataTable (Excel C#)
如果您仅需要使用SSIS进行此操作,稍后我可以提供详细的答案,类似于我在上面第一个链接(SQLite)中提供的答案。
SchemaMapper:C#模式映射类库
最近,我在Git-Hub上启动了一个新项目,该项目是使用C#开发的类库。您可以使用它使用架构映射方法将Excel,Word,Powerpoint,文本,CSV,html,JSON和xml中的表格数据导入具有不同架构定义的SQL Server表中。它提供了导入大型excel文件的功能。在以下位置查看:
- SchemaMapper: C# Schema mapping class library
您可以按照此Wiki页面获取逐步指南:
另一答案
SQLCMD更好,因为超时时间更长。但是比起您必须将Excel保存为CSV,我不知道您是否可以这样做。
以上是关于如何在SSIS中将大型Excel文件拆分为多个小文件?的主要内容,如果未能解决你的问题,请参考以下文章