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 Override Sub 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)