将电子表格加载到SQL Server数据库时遇到了很多麻烦。
目前,我正在使用SSIS包来加载数据,我不得不进行大量调整以获取要加载的数据:
我一直在将数据(通常是每个文件200,000-500,000行)加载到一个表中,所有字段都定义为nvarchar
。然后,在加载时,我将SSIS包的下一步中的数据传输到带有类型数据字段的工作表。
我必须向用户提出有关如何格式化Excel文件的所有要求真的很痛苦。我们通常必须多次发送文件,直到所有格式问题都正确才能加载文件。我想消除这种鞭挞。
我知道我不是唯一一个面临这类问题的人。所以,我必须问......
将数据加载到SQL Server数据库有什么更好的Excel替代方法?
或者,我是否采取了错误的方式?我应该使用SSIS以外的东西来加载Excel电子表格吗?
答案 0 :(得分:1)
您可以尝试OpenRowSet:
SELECT *
INTO SomeTable
From OpenRowSet('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=\\servername\c$\filename.xls;HDR=YES;IMEX=1', [Sheet2$])
答案 1 :(得分:0)
不是一个SQL答案,而是一个简单的答案:
您可以要求用户将数据复制并粘贴到Excel电子表格中,其中除了要包含的数据字段之外的所有内容都被锁定。这将防止描述的许多痛点。