SSIS错误DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER

时间:2019-11-20 22:15:16

标签: sql-server visual-studio ssis sql-server-data-tools

如图片所示,SSIS包中有一个foreach循环容器,用于从驻留在“ C \ Source \ Files”中的所有excel文件中导入数据。从理论上讲,变量“ FileName”的值在每个循环中分配,并将在Excel Connection Manager中用于提取数据。但是,为了创建组件,在设计阶段,我们必须将变量值设置为具有与其他模板/列相同的示例excel文件。如果未分配变量值,它将引发错误“ SSIS错误DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER”。 “ C \ Source \ Files”中的文件被随机放置,并且在导入数据后将立即存档,因此可能存在文件夹中不存在文件的情况。有什么方法可以避免初始绑定,因为将样本文件保存在UAT / PROD环境中会花费额外的费用?

  • 包的组件和属性

enter image description here

  • 变量值为空(“”)时出错

enter image description here

1 个答案:

答案 0 :(得分:0)

Jithin,

您可以尝试禁用/延迟验证,直到运行时为止。

在包或组件属性中,将DelayValidation属性设置为True(默认为False)。设置为true只会在执行程序包之前实际上不会执行验证。

对于Excel,您的里程可能会有所不同,由于多种原因,在SSIS中使用它可能特别困难,但是请尝试一下。