0

SP を介して SP フォーム Mysql DB を呼び出す SSIS パッケージを実行しています。

  1. SQL サーバー テーブルの値のリストを取得します。
  2. 各値をパラメーターとして mysql の SP に渡します。
  3. SP がデータを返したら、適切なデータ変換を行った後、SQL サーバーのテーブルに挿入します。

SP がデータを返すと、パッケージは正常に動作します。ただし、SP が 0 行を返すと、パッケージは次のエラーで失敗します。

[ADO NET Source 1 1 [126]] Error: System.NullReferenceException: Object reference not set to an instance of an object.
   at Microsoft.SqlServer.Dts.Pipeline.DataReaderSourceAdapter.PreExecute()
   at Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostPreExecute(IDTSManagedComponentWrapper100 wrapper).

SPが0行を返した場合、パッケージは成功し、テーブルに行を挿入しないはずです。

つまり、なぜADO NET Sourceで例外がスローされるのですか...

SP が 0 を超える行を返す場合、パッケージは成功することに注意してください。

回避策も大歓迎です。

4

0 に答える 0