我创建了一个SSIS来加载excel文件。它在相关文件的指定文件夹中循环,并将每个文件中的数据读入原始数据表,然后我有SQL脚本进行验证并将数据放在相关表中等等......这一切都正常。< / p>
但我现在需要让ssis包处理加载具有3种不同文件结构的excel文件。即一个文件将有50列,一个将有55个,一个将有60个。
我尝试使用脚本任务加载数据
Insert into <rawdatatable> select * from openrowset('Microsoft.Jet.OLEDB.4.0','excel 8.0; database=D:\SSIS\FileToLoad.xlsx', 'Select * from [Sheet1$]')
但我一直收到以下错误,但添加错误记录不会给出任何其他错误
调用目标抛出了异常
我正在使用SQL Server 2014和VS 2013
我不确定我在这里做什么,任何帮助或指导都会受到赞赏
由于
答案 0 :(得分:1)
您必须使用Microsoft.ACE.OLEDB.12.0
提供商,请尝试以下操作:
Insert into <rawdatatable>
select * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0;Database=D:\SSIS\FileToLoad.xlsx;HDR=YES',
'SELECT * FROM [Sheet1$]')
<强>参考强>