Visual Studio 内から実行すると正常に動作するカスタム SSIS コンポーネントを作成しています。ただし、dtexec.exe または dtexecui.exe を使用して実行すると失敗します。
PreExecute
列名から LineageID へのマッピングを構築しているときに、メソッドでエラーが発生します。これは私が混乱しているところです。デバッガーで物事を見ると、取得した値を渡すだけvar foo = output.OutputColumnCollection[i].LineageID
ですbufferManager.FindColumnByLineageID(output.Buffer, foo)
この時点で、次のようにFindColumnByLineageID
言って例外がスローされます。
System.ArgumentException はユーザー コードによって処理されませんでした Message=Value が予期された範囲内にありません。
ソース = Microsoft.SqlServer.DTSPipelineWrap StackTrace: InnerException:
私は途方に暮れています。コードは BIDS で正常に実行されます。この時点でのロジックは問題ないようです。実際には何も問題はありません。SSIS から SSIS に値を渡しているだけです。私の感じでは、いくつかのセットアップまたは構成が台無しになっているように感じますが、現時点ではそれがどうなるかわかりません。どんな推測でも大歓迎です。
ありがとう!