SP を介して SP フォーム Mysql DB を呼び出す SSIS パッケージを実行しています。
- SQL サーバー テーブルの値のリストを取得します。
- 各値をパラメーターとして mysql の SP に渡します。
- 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 を超える行を返す場合、パッケージは成功することに注意してください。
回避策も大歓迎です。