SSISの場合、サーバーから別のサーバーにデータを転送する必要がありますが、最終的な宛先にはIDのような列があります。各行の新しい ID を決定するには、最終サーバーでストアド プロシージャを実行する必要があります。
DataFlow でそれを行い、 ControlFlow で Foreach ループを回避することは可能ですか?
よろしく、ギヨーム。
を使用してこのタスクを実行できますOLEDB command
。SPにreturn
ステートメントがある場合は、戻り値をキャプチャして入力列にマップしてみてください
exec ? = dbo.ReturnID
このステートメントは、入力列@RETURN_VALUE
にマップする必要がある を作成します。ソース自体に入力を NULL または任意の値として作成して、この列を ID
ID column
OLEDB component
@RETURN_VALUE
Update 1 :
これを試して :-
EXEC dbo.my_sp 'p1', 'p2',@variable_name=? output
@variable_name
ストアド プロシージャで使用される出力変数名です。
いいえ、そうではないと思います。ストアド プロシージャを実行する Execute SQL タスクで DataFlow タスクを実行することをお勧めします。