1

いくつかの変数があり(パッケージレベル、データフローレベル、関係ありません)、を実行してそれらをロードする必要がありますExecute Sql Task。を追加しExecute Sql Task、自分のsqlステートメントをfiledに書き込み、SqlStatementをに変更しForcedExecutionValueTypeましたstring。ここで、Execute Sql Taskが実行されたときに、そのselectが返す戻り値を、変数の正確な値にしたいと思います。

 example: 

 Select employer_name from employers where id=1
 Returs="John Doe"

 value for @employer_name must be "John Doe"

ヒントはありますか?

4

1 に答える 1

3

この問題についての詳細な説明を理解するのは少し難しいので、次の手順で既におなじみの項目をカバーしている場合は、お詫び申し上げます。

手順:

  1. [制御フロー]タブで、[SQLの実行]タスクをドラッグして開きます。
  2. 左側の[一般]を選択します。
  3. 接続を定義します(以下の接続マネージャーで作成されたデータベースソースに基づいて)。
  4. SQLステートメントを定義します。
  5. [結果セット]で、[単一行]を選択します。
  6. 左側の[結果セット]を選択します。
  7. [追加]ボタンを選択して、新しいレコードが上に追加されたことを確認します。
  8. 新しいレコードの結果名列ヘッダーの下で、「NewResultname」を「0」に変更します。
  9. 新しいレコードの[変数名]列ヘッダーで、作成済みの既存のユーザー変数を選択するか、一番上までスクロールして新しい変数を作成します。
  10. [OK]を選択すると、完了です。

SQL実行タスクを単独で実行すると、変数にデータが入力されます。SQLが1つの値のみを返し、それ以上は返さないことを確認してください。それ以外の場合は、安全のために「TOP1」を含むSQLを変更する必要があります。複数の値が予想される場合は、「オブジェクト」のデータ型で定義された変数を適用し、SQLの実行タスクで「単一行」の代わりに「完全な結果セット」を使用します。

お役に立てれば。

于 2013-03-14T22:23:28.470 に答える