在 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)