私はssisパッケージを構築しています。スクリプトコンポーネント内に既存のOleDbConnectionを使用したいと考えています。ここに私のコードです:スクリプトコンポーネントでOleDbConnectionsを使用することは可能ですか?
public override void AcquireConnections(object Transaction)
{
base.AcquireConnections(Transaction);
cm = this.Connections.Connection;
con = (OleDbConnection)cm.AcquireConnection(Transaction);
MessageBox.Show(con.ToString());
}
私はBIDSを閉じると、私は次のメッセージを取得: 「System.InvalidCastExceptionの:のSystem.Data.OleDbクラスタイプに 『システム.__ ComObject』「タイプのCOMオブジェクトをキャストすることができませんが.OleDbConnection '。COMコンポーネントを表す型のインスタンスは、COMコンポーネントを表さない型にキャストできませんが、基本COMコンポーネントがインターフェイスのIIDのQueryInterface呼び出しをサポートしている限り、インターフェイスにキャストできます。
同じコードがAdo.Net接続で正常に動作します。ここでOleDbConnectionを使用できますか?Script ComponentはAdo.Netのみをサポートしていますか?
ありがとうございます。あなたはAquire Connection
メソッドを使用したい場合はADO.NET
接続マネージャを使用する必要がMSDN
You cannot call the AcquireConnection method of connection managers that return
unmanaged objects, such as the OLE DB connection manager and the Excel
connection manager, in the managed code of a Script task.
で述べたように
これがお手伝いします:[リンク](http://akshaya-m.blogspot.com/2017/02/ssis-script-task-connectionstring -for.html) – Akxaya