Visual Studio内で実行するとうまく動作するカスタムSSISコンポーネントを作成しています。ただし、dtexec.exeまたはdtexecui.exeを使用して実行すると失敗します。SSISカスタムコンポーネントはVS2008で動作しますが、おそらくLineageIDに関連するDTExecで失敗します
エラーは、列名からLineageIDへのマッピングを構築するときにPreExecute
メソッドで発生します。私は私が私が言ってFindColumnByLineageID
からスローされた例外を取得します。この時点でbufferManager.FindColumnByLineageID(output.Buffer, foo)
へvar foo = output.OutputColumnCollection[i].LineageID
から取得した値を渡してやっているすべてのデバッガで物事を見て、私は、混乱していますここでは、ある
System.ArgumentExceptionがユーザーコードによって処理されませんでした。Message = Value が予期された範囲内にありません。
ソース= Microsoft.SqlServer.DTSPipelineWrapのStackTrace: のInnerException:
私は途方に暮れています。このコードはBIDSでうまく動作しますが、現時点でのロジックはOKと思われますが、実際には間違っていることはありません.SSISからSSISに値を渡すだけです。私の気持ちは、いくつかの設定や構成が混乱しているということですが、この時点でどのようなものか分かりません。どんな推測でも大いに感謝します。
ありがとうございます!
私はすべてのインスタンスを64ビット未満で実行しています。私はVisual Studioで32ビットフラグを使用するように設定しようとしましたが、それでも機能しました。私はあなたのリンクを見て、私は彼らが言及したような何かをやっているとは思わない。提案していただきありがとうございます! – Ukko
興味のあることに、とにかく32ビットバージョンのdtexecを実行しようとしましたか?私はインスタンスのアーキテクチャにかかわらずどちらかを動作させるべきだと思っています。 – Geoff
うん、32と64は同じように働いた。私は今日これを解決しました。そして、私が時間を取れば、今晩の答えを書き上げます。 – Ukko