2016-04-05 4 views
0

一般的なデータエクスポータであるSSISパッケージがあります。私はパッケージが実行されるデータベースにjobsテーブルを持っています。現在、これは列に格納されたSQLを読み取り、それを実行することによって機能します。SSISストアドプロシージャにパラメータの配列を渡すSQLを実行するタスク

私は列にストアドプロシージャ(ソースコントロールにチェックインできるように)に格納されたSQLを変換しています。私が持っている問題は、異なるジョブがSQLのパラメータの数が異なります。

私は、ジョブID、パラメータ名、パラメータ値、およびパラメータの順序を含むテーブルを持っています。

SQL実行タスクで、ストアドプロシージャにパラメータを割り当てる方法を教えてください。そこにはいくつのパラメータがあるのか​​分かりません。にパラメータの配列を含む変数を渡す方法があった場合、私は、私は、スクリプトタスクで

exec proc param1value, param2value 

の文字列を構築し、それに変数を設定することができたと

は、私は思っていました仕事?

答えて

0

いいえ、ExecuteSQLタスクにパラメータの配列を渡すことはできません。

説明したように動的SQL文字列を実行することができますが、私は、ストアドプロシージャに単一のパラメータ(JobId、またはジョブテーブルのPKが何であれ)を渡し、ストアドプロシージャハンドル他のパラメータの論理。

私は、ジョブID、パラメータ名、パラメータ値 とパラメータの順序を含むテーブルを持っています。

すべてのストアドプロシージャは、そのテーブルをクエリし、ジョブIDのすべての行を取得し、すべてのパラメータの名前と値のペアを使用して動的SQL文字列を作成して実行する必要があります。

関連する問題