2009-07-20 16 views
3

SSISでselect文を実行したいが、このselect文は別のコンポーネントからパラメータを受け取り、このselect文の列を他のものへの入力として使用する必要があるコンポーネント。例えばSSIS - 別のテーブルを参照して関連する列を取得する

select id from myTable where name = (column from a previous component). 

そして、上記のselect文の「ID」コンテンツは、将来のコンポーネントを使用することができ、列でなければなりません。

"OLE DBコマンド"コンポーネントを追加すると、他のコンポーネントを入力として参照できますが、出力を生成することはできません。 OLE DBコマンドコンポーネントは、更新/挿入ステートメントでのみ使用されているようですか?

どのようにすればいいですか?

+1

これはデータフローまたは制御フローはありますか? –

+0

データの流れ....... – Saobi

+0

申し訳ありませんが遅れていますが、下の例です。 –

答えて

15

実際、これはルックアップのケースです。あなたは名前と返品IDで検索したいと思うようです。ものすごく単純。この例を作成した方法は次のとおりです。

  1. データフロータスクを設計面にドラッグします。それをダブルクリックして切り替えます。
  2. デザイン面への私のデータベース
  3. ドラッグのための接続マネージャを作成します。ソースを接続し
  4. OLE DB先
  5. を変換
    • OLE DBソース
    • Aルックアップ目的地へのルックアップ。それは目的地に行きたい "照合一致出力"です。図1を参照してください。
    • ソースを設定します。私のソーステーブルにはidカラムとnameカラムがあります。
    • 設定したルックアップ
      • [全般]タブ:OLE DB接続に
      • [接続]タブを使用します。同じ接続を指定しますが、ルックアップテーブルを使用します。私のルックアップテーブルはIDと名前だけでしたが、名前は一意になっていましたので、ルックアップカラムとしては意味があります。
      • [列]タブで、名前にマップする名前を構成し、 "id"を出力します。ルックアップ操作を「新しい列を追加する」ように構成し、その列に「lookupId」という名前を付けます。すべての3つの列を取るために、他の二つのタブ
    • 設定
    • 出力を無視し、図2
    • 参照してください。図3を参照してください。

それだけです。ソースからの各行について、名前列はルックアップテーブルの名前列に一致するために使用されます。それぞれの一致は、そのid列を新しいlookupId列として提供します。 3つの列はすべて宛先に進みます。

図1:
alt text

図2:
alt text

図3:

alt text
+0

はい。しかし、私はそれをどのようにグラフィカルに指定するのですか?あるテーブルから別のテーブルにリンクをドラッグする手動の方法があります。 "ルックアップ列"リストに列を追加する必要があります。一致する列を識別するために使用されるものと、一致する(他の)列を出力するために使用されるものはどれですか? – Saobi

+0

私は例を取り上げますが、すべての小さなスクリーンショットには1時間半かかります。ソースからデスティネーションまでの基本フローが1つあると仮定しますが、ソースの名前列と一致するMyTable行のID列を組み込む必要がありますか?もしそうなら、私は30分ほどでスクリーンショットの数が増えていく例を挙げます。 "乞うご期待!" –

+0

@ジョン:画像とテーブルをどのように置くことができるのかについての構文を教えてください。 –

関連する問題