在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
命令。
Public Overrides Sub AcquireConnections(ByVal Transaction As Object)
connMgr = Me.Connections.Connection sqlConn = CType(connMgr.AcquireConnection(Nothing), SqlConnection) End Sub
有任何经验如何避免这个问题?任何帮助将不胜感激。
btw 2012版(在C#中)无故障地运行。 2005版本被手动降级/重写。
public override void AcquireConnections(object Transaction)
{
connMgr = this.Connections.Connection;
sqlConn = (SqlConnection)connMgr.AcquireConnection(null);
}
附录: 这不起作用。
sqlConn =新的SqlConnection(connMgr.ConnectionString)
答案 0 :(得分:0)
即使没有演员表,演员问题也是一个问题(请参阅上面的代码片段与新关键字)。
因此,声明被重写。 重点 - 关于旧问题还没有问题。
oleDbConn = New OleDb.OleDbConnection(connMgr.ConnectionString)