SSIS 从变量设置 OLE_DB 连接字符串不起作用,获取错误代码 dts_e_cannotacquireconnectionfromconnectionmanager

问题描述

我有一个父子包的情况,其中父正在读取 sql Server 任务表。循环遍历任务并获取任务所需的连接字符串并将其传递给子包。我已经在父包中创建并设置了一个变量。我还在脚本任务中的子包中创建并设置了一个变量。变量在表达式中设置为我的 OLE_DB 连接的连接字符串 (Package.DelayValidation = True)。在脚本任务运行后(并且工作......我显示一个带有正确值的消息框)我运行了一个数据流任务,它尝试使用连接字符串读取数据库。这就是“错误代码 dts_e_cannotacquireconnectionfromconnectionmanager”发生的地方。我知道我必须错过一些东西,只是不能把我的手指放在上面。

Child Package Flow

Script Task Code

Variable Usage

解决方法

由于这两个包在单个项目中都可用,请尝试在父包中选择 Project Reference 作为 ReferenceType 并在 PackageNameFromProjectReference 中输入您的孩子。