【发布时间】:2018-06-06 17:45:59
【问题描述】:
所以我创建了一个 ForEach 循环和一个数据流任务以从 Excel 写入 SQL DB。使用硬编码的 Excel 源代码一切正常。一旦我更改连接字符串以使用文件路径变量作为数据源,我就会收到以下错误:
[Excel 源 1] 错误:SSIS 错误代码 DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER。对连接管理器“Excel Connection Manager 1”的 AcquireConnection 方法调用失败,错误代码为 0xC0202009。
我在执行数据流之前在消息框中打印文件路径,这样我就知道变量正在工作。
我自然浏览了大量的答案和教程,但什么也没有。这是我尝试过的:
- 更改连接字符串的数据源
- 使用 ExcelFilePath 表达式代替连接字符串
- 在连接管理器属性中更改 Excel 文件名
- 以 32 位运行包
- 在所有数据流任务和连接管理器中将延迟验证设置为 True
- 删除和创建新的连接管理器
- 以上组合,大量试错
我正在使用 Visual Studio 2013。
感谢您的帮助,因为我整个下午都在用这个拔头发 :)
【问题讨论】:
-
听起来你缺少在连接管理器上将 foreach 枚举数设置为文件名的表达式
-
另外,如果您只更新路径,则“连接字符串”与“Excel 文件路径”不同,请使用后者
-
我在 answer 中介绍了在 Excel 文件中使用表达式
-
更改属性延迟验证。
-
@billinkc 我读了你的精彩回答,不幸的是它没有用。我在发布这个问题之前遇到了它,并尝试使用 excel 文件路径。我不知道还能做什么。
标签: excel ssis sql-server-data-tools