2017-08-16 11 views
0

SSISの新機能で、複数のテーブルのIDL(インクリメンタルデータロード)用のパッケージを作成しています。データフロータスクのスクリプトタスクから変数の値を設定する方法

私のパッケージには、SQLタスクを実行していると私は、スクリプトタスクから変数の値を設定したときに、それが働いているしかし、私は、データフロー(oldedbソース)用のスクリプトタスクから変数の値を設定しようとすると、それは

などを動作していません

私のSSISパッケージ:

  • foreach文コンテナ

  • スクリプトタスクテーブルのスキーマをループするとSourceTable =テーブル名を設定。

  • OLEDBソース(使用SourceTable)
  • 検索(検索がノーアウトプット一致)
  • Oldedb先

任意のアイデアなぜ?

enter image description here

更新:指定されたソースからメタデータ情報(カラム名とデータ型)を抽出することができないとき enter image description here

+0

スクリプトタスクの読み込み/書き込み変数を指定しましたか? – FLICKER

+0

はい私はそうでしたReadWriteVariablesでUser :: SourceTable – shaadi

答えて

2

SSISは、データソースコンポーネントから、このようなエキゾチックなエラーを報告します。

  • データソースは、SourceTable変数の値が存在しないこの時点では、パッケージの実行前に検証されています。以下は、可能なケースとのToDoです。 ToDoの - SourceTable変数
  • のためのデータフロータスク、またはいくつかの有効なデフォルト値を設定する(起動時に既存のテーブルを指している)ためDelayValidation =真を指定SourceVariableは、実行時に無効なテーブル名が含まれています。これは、上記の変更を行ってもエラーが続く場合に発生します。デバッガを使用してその値を検査し、ケースを分析します。
+0

スクリプトタスクから値をチェックするためにデバッガを使用しましたが、スクリプトタスクはデータフロータスクに値を渡していますが、データフロータスクでも変数変数に書き込むことができません。スクリプトコンポーネントを使用すると、私は変数の値をパッケージに書き込むことができるように、参照してください。 – shaadi

+0

今私は理解しているようです。あなたはスクリプト変換コンポーネントのパッケージ変数に書き込もうとしていますね。この場合、この情報は役立ちます(https://stackoverflow.com/a/39206880およびhttps://stackoverflow.com/a/32229160)。 – Ferdipux

+0

はい、それを手に入れました。私はスクリプトコンポーネントを使用しており、データフロータスクの変数の値を設定しているように見える場合は、データアクセスモードで変数を使用できないため、何かが足りないようです。 – shaadi

関連する問題