【发布时间】:2017-12-19 05:18:04
【问题描述】:
我正在尝试将具有非静态工作表名称的 Excel 文件中的数据(工作表名称包含 yyyymmdd 会随每个文件更改)加载到 SQL 数据库表中。我遵循How to loop through Excel files and load them into a database using SSIS package? 提供的解决方案,但只能设法让第一个 for 循环工作。当我尝试在数据流任务下将用户变量“Sheetname”分配给 Excel 源时,出现错误 -
CSSN_Invoice [连接管理器“TEST MKBS CONNECTION”] 处出错:SSIS 错误代码 DTS_E_OLEDBERROR。发生 OLE DB 错误。错误代码:0x80004005。 OLE DB 记录可用。来源:“Microsoft Access 数据库引擎”Hresult:0x80004005 描述:“无效参数。”。
数据流任务 [MKBS Sheetname [1]] 出错:SSIS 错误代码 DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER。对连接管理器“TEST MKBS CONNECTION”的 AcquireConnection 方法调用失败,错误代码为 0xC0202009。在此之前可能会发布错误消息,其中包含有关 AcquireConnection 方法调用失败原因的更多信息
当工作表名称被选为“表或视图”而不是“表名称或视图名称变量”时,数据流任务工作正常
请帮忙!
【问题讨论】:
-
很快就会有答案。它使用脚本任务。
-
我在我发布的原始链接的帮助下得到了它 - How to loop through Excel files and load them into a database using SSIS package? - 我错过了该答案的一步,这就是它不起作用的原因。但现在一切都好!
标签: sql-server excel ssis etl ssis-2008