【问题标题】:Reusing connection manager from SSIS script task从 SSIS 脚本任务重用连接管理器
【发布时间】:2020-12-11 19:48:03
【问题描述】:

在我的 SSIS 包中,我创建了 ADO connection manager,所以我有 MyAdoManager.conmgr,它具有名为 MyServerName.MyDbName 的底层连接。

现在,我正在尝试在 Script Task 中使用 use it,就像在 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 的脚本编辑器中没有任何与连接相关的设置。

【问题讨论】:

    标签: ssis ssis-2012


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-08
      相关资源
      最近更新 更多