0

スクリプト タスク内の SSIS パッケージで設定したデータベース接続に接続できないようです。これがOleDB接続である私のコードです。

public void Main()
    {
        // TODO: Add your code here
        OleDbConnection myOleDbConnection = new OleDbConnection();
        myOleDbConnection = (OleDbConnection)(Dts.Connections["Connection"].AcquireConnection(Dts.Transaction) as OleDbConnection);
        MessageBox.Show(myOleDbConnection.ConnectionString, "OleDB Connection");

        Dts.TaskResult = (int)ScriptResults.Success;
    }

次の例外が発生します

ここに画像の説明を入力

4

1 に答える 1

0

接続マネージャーの AcquireConnection() メソッドは、管理されていないオブジェクトを返します。あなたの場合Oledbは native を返しますCOM objectAdo.net connectionシナリオで可能であれば使用してください。

Oledb に固執したい場合は、次の回避策があります。

ConnectionManager cm = Dts.Connections["Connection"];
IDTSConnectionManagerDatabaseParameters100 cmParams = cm.InnerObject as  
                                                      IDTSConnectionManagerDatabaseParameters100;
OleDbConnection myOleDbConnection = cmParams.GetConnectionForSchema() as OleDbConnection;
于 2014-12-10T14:19:46.777 に答える