2016-10-18 27 views
0

スクリプトタスクのパッケージスコープ内にあるオブジェクト変数を初期化し、後でその変数をWebサービスタスクに渡す必要があります。 iスクリプトタスクで初期化後のウォッチウィンドウ内の変数の値を表示すると、オブジェクトが初期化されます。 しかし、Post Executeイベントの後に同じ変数が表示された場合、値は単純にSystem._ComObjectとして表示されます。値を表示する方法は、ウォッチ・ウィンドウからオブジェクトに保存されます。SSISでcomオブジェクトの内容を表示する方法

+0

スクリプトタスクは変数に対して何をしますか? –

答えて

1

オブジェクト変数を解析してフラットファイルに出力するには、以下を使用します。これは微調整でうまく動作するはずです:

public override void CreateNewOutputRows() 
{ 
    // Set up the DataAdapter to extract the data, and the DataTable object to capture those results 
    OleDbDataAdapter da = new OleDbDataAdapter(); 
    DataTable dt = new DataTable(); 

    // Extract the data from the object variable into the table 
    da.Fill(dt, Variables.LDAPResultSet); 

    // Since we know the column metadata at design time, we simply need to iterate over each row in 
    // the DataTable, creating a new row in our Data Flow buffer for each 
    foreach (DataRow dr in dt.Rows) 
     //'foreach (DataColumn col in dt.Columns) 
     { 
      { 
       // Create a new, empty row in the output buffer 
       LDAPOutputBuffer.AddRow(); 
       object[] array = dr.ItemArray; 
       LDAPOutputBuffer.ADENTName = array[1].ToString(); 
       LDAPOutputBuffer.DisplayName = array[3].ToString(); 
       LDAPOutputBuffer.DNName = array[2].ToString(); 
       LDAPOutputBuffer.Mail = array[0].ToString(); 
           } 
     } 
} 

このコードは、データテーブルを作成し、それを解析し、フラットファイル先に出力します。

+0

しかし、私のrequiremntは、オブジェクトをJava Webサービスに渡すことです。スクリプトタスクに値が入力されています。しかし、Webサービスのタスクに渡っている間、私はエラーが発生しています。ですから、Webサービスタスクの事前実行イベントでオブジェクト変数の内容を見たいと思っています。 –

+0

あなたの質問は、comオブジェクトの内容を表示することでした。これは、変数オブジェクトの結果を表示する方法の1つです。実際に必要に応じてこのコードを変更する必要があります。 – rvphx

関連する問題