1

在 SSIS 05 (VB.NET) 脚本中,发生了一个有趣的异常。开发环境没有显示与脚本有关的任何错误。

以下错误消息显示在 ETL 过程的脚本组件中。

Unable To Cast COM Object Of Type 'System.__ComObject' To Class Type 'System.Data.SqlClient.SqlConnection

正在使用连接管理器。

Dim connMgr As IDTSConnectionManager90

这里应用的CType命令。

公共覆盖子 AcquireConnections(ByVal 事务作为对象)

      connMgr = Me.Connections.Connection
      sqlConn = CType(connMgr.AcquireConnection(Nothing), SqlConnection)

End Sub

任何经验如何避免这个问题?任何帮助将不胜感激。

顺便说一句,2012 版(在 C# 中)可以正常工作。2005 版本被手动降级/重写。

public override void AcquireConnections(object Transaction)
{
    connMgr = this.Connections.Connection;
    sqlConn = (SqlConnection)connMgr.AcquireConnection(null);
}

附录:那行不通。

sqlConn = 新 SqlConnection(connMgr.ConnectionString)

4

1 回答 1

0

即使没有演员表,演员表问题也是一个问题(参见上面带有新关键字的片段)。

因此,声明被重写。重点---没有问题,关于老问题。

oleDbConn = New OleDb.OleDbConnection(connMgr.ConnectionString)
于 2013-09-30T15:11:49.460 回答