それをあなたがアイテムを混ぜているように感じる。パラメータ化?
は、OLE DBソースコンポーネントで[パラメータ]ボタンをクリックしてマップする変数のプレースホルダです。
しかし、変数からSQLコマンドを使用しているため、ユーザーが式を使用して結果セットの形を変更するリスクがあるため、パラメータ化オプションは使用できません高い。
適切なパラメータ化を含む「SQLコマンド」またはDynamically assign value to variable in SSIS SQL Server 2005/2008/2008R2のようなひどい文字列のファクタでパラメータを追加する「SQLコマンドからの変数」を選択します。 Expressionsを使用する文字列変数では4k文字に制限されています。
「基本的に私がやっているのは、SQL Serverテーブル(つまり、アカウント番号)からのクエリの結果を使用して、SQLクエリからの結果をOracleリファレンスレコードから取得することです」というコメントに基づいて、
これについては、2つの方法があります。あなたが現在開発しているもので、私の上記の答えはまだ立っています。口座番号を細断処理し、それらをOracleへの問合せのフィルタとして使用しています。これにより、所有しているアカウント番号ごとにOracleに問合せが発行されます。それは望ましくないかもしれません。
このアプローチの利点は、複数の行を取得できることです。 Sales Orderタイプの情報を引き出すと仮定すると、1つのアカウント番号には多くの受注行がある可能性があります。
ただし、アカウントレベルのデータなどのアカウント番号を使用してゼロから1へのマッピングを行っている場合は、取り組んでいるアプローチを簡素化できます。 SQL Serverクエリをデータフロー内のOLE DBソースコンポーネントに移動します。
次に、ルックアップコンポーネントを探しています。これにより、追加のデータで既存のデータ行を充実させることができます。ここでは、 "SELECT AllTheColumnsICareAbout、AccountNumber FROM schema.Table"のようなクエリを指定します。次に、AccountNumberをOLE DB SourceからLookup Component内のAccountNumberにマップし、既存の行を増やしたいすべての列の横にあるチェックマークをクリックします。
これは、変数からのSQLコマンドではありません。変数からのSQLコマンドは、SQL文字列全体が変数に含まれている場合です。 –