重用 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
我就能够在脚本任务中使用它。
在我的 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
我就能够在脚本任务中使用它。