1

これはばかげた質問かもしれませんが、データ フロー タスク、OLE DB ソースとフラット ファイル送信先があります。

私の OLE DB ソースには、UPDATE ステートメントと SELECT ステートメントが必要です。これを行うと、フラット ファイルに行が書き込まれないようです。ちなみに、選択が失敗した場合に更新が行われないようにするために、これを行っています。(BEGIN TRAN と COMMIT の間に 2 つのステートメントを配置するつもりでした。)

残念ながら、SSIS が実行されているサーバーで DTC サービスが実行されていないため、SSIS トランザクションを使用できません。

4

2 に答える 2

0

必要なシーケンスが SELECT -> UPDATE -> WRITE_TO_FLAT_FILE であると仮定すると、OLE DB ソースを使用して選択を行い、次に OLE DB コマンドを使用して更新を行います。最後に、フラット ファイルの宛先を使用してデータを書き出します。

OLE DB ソースで、エラー出力を「コンポーネントの失敗」または「行のリダイレクト」に設定します。いずれの方法でも、後続の更新コマンドを回避できます。

于 2012-04-13T22:11:16.580 に答える
0

制御フローで更新を行う必要があります。

更新コマンドを使用して SQL 実行タスクを追加し、緑の矢印をタスクからデータ フロー コンポーネントにドラッグすると、データ フローに oleDBSource とフラット ファイルの宛先が表示されます。

于 2012-04-14T17:34:32.720 に答える