重用 SSIS 脚本任务中的连接管理器

Reusing connection manager from SSIS script task

在我的 SSIS 包中,我创建了 ADO connection manager,因此我有 MyAdoManager.conmgr 具有名为 MyServerName.MyDbName.

的基础连接

现在,我正在尝试 use it in the Script Task the way it's described in some 手册。

ConnectionManager cm;
System.Data.SqlClient.SqlConnection sqlConn;
System.Data.SqlClient.SqlCommand sqlComm;

cm = Dts.Connections["MyAdoManager.conmgr"]; // also tried "MyServerName.MyDbName"

sqlConn = (System.Data.SqlClient.SqlConnection)cm.AcquireConnection(Dts.Transaction);
sqlComm = new System.Data.SqlClient.SqlCommand("SELECT * FROM MyTable", sqlConn);
sqlComm.ExecuteNonQuery();

cm.ReleaseConnection(sqlConn);

问题

执行包后,我总是得到一个异常“找不到连接”。如何访问现有连接管理器使用的连接?

我应该在这里使用什么连接名称cm = Dts.Connections["..."]

此外,我看到一些 suggestions 我需要脚本框的连接管理器,但我的 SSIS 的脚本编辑器中没有任何连接相关设置。

有点解决了。未记录的功能。只有同名的脚本任务才能访问连接管理器中的连接。

一旦我将连接管理器从 MyAdoManager.conmgr 重命名回 MyServerName.MyDbName.conmgr 并且它与连接名称匹配 MyServerName.MyDbName 我就能够在脚本任务中使用它。