8 モデルケース7「Accessから抽出したデータをCSVファイルに転送する」

このモデルケースでは、テーブル全体をまとめて全レコードをCSVファイルに出力するのではなく、特定の条件に一致するレコードだけを抽出してから転送します。

基本的な流れはモデルケース3「AccessのデータをCSVファイルに転送する」とほとんど同じです。異なるのは、転送元として「テーブル名」を指定するのではなく、レコードを抽出する「SQL文」を指定する点です。そこで、モデルケース3のパッケージをコピーして編集を加えるものとしてその手順を説明します。


  1. ソリューションエクスプローラ上で「Case03.dtsx」をコピーして貼り付け、「Case07.dtsx」という名前に変更します。

  2. タブを「データフロー」に切り替えます。


  3. 「OLE DBソース」コンポーネントをダブルクリックして「OLE DBソースエディタ」ダイアログを開きます。


  4. パッケージをコピーしてきたので、「データアクセスモード」の欄が「テーブルまたはビュー」になっています。この欄をクリックして、ドロップダウンリストから「SQL コマンド」を選択し直します。


  5. すると画面下半分の表示内容が切り替わり、「SQLコマンドテキスト」という欄が表示されます。


  6. あとはこの「SQLコマンドテキスト」の欄に任意のSQL文を書き込んでいけばよいわけですが、ここではSQL ServerのビューのデザイナあるいはAccessのクエリデザインビューに似たグラフィカルな画面を使ってSQL文を作ってみます。それには[クエリの作成]ボタンをクリックします。

  7. 「クエリビルダ」ダイアログが表示されたら、まず[テーブルの追加]ボタンをクリックします。


  8. 「テーブルの追加」ダイアログでテーブルの一覧が表示されたら、SQL文で使いたいテーブル名を選択して[追加]ボタンをクリックします。


  9. テーブルを追加後、[閉じる]ボタンをクリックすると、ダイアログで指定されたテーブルとそのフィールド一覧が「クエリビルダ」上に配置されています。


  10. 次に、任意のフィールド名にチェックマークを付けて、出力するフィールドを選択します。
    • ここでは別のパッケージをコピーしているため、フィールドの選択がそのときと異なっていると、「データ変換」や「フラットファイル変換先」コンポーネントに警告メッセージが表示されることがあります。その場合は適宜それぞれのコンポーネントで対象列の再設定を行います。

  11. さらに、必要に応じて、フィルタ(抽出条件)や並べ替えなどの条件を指定してきます。
    • ここでは一般的なSQL文の構成を指定しますので、複合条件のフィルタや並べ替えの他、演算や別名定義なども設定できます。
    • 画面上部の[実行]ボタンをクリックすることで、実際に抽出されたデータを確認することもできます。

  12. すべての設定が完了したら、自動生成されたSQL文を確認して[OK]ボタンをクリックします。


  13. 「クエリビルダ」で組み立てられたSQL文が「OLE DBソースエディタ」上の「SQLコマンドテキスト」の欄に表示されます。


  14. SQLコマンドテキスト上で「SELECT」の対象列から除外してもよいのですが、ここでは「列」の画面で「ID」列のチェックを外してソースからそのフィールドを除外します。


  15. 最後に[OK]ボタンをクリックしてOLE DBソースの設定を確定します。

  16. パッケージを実行します。
    出力されたCSVファイルを確認すると、指定された条件に一致するレコードだけが出力されています。


| Index | Prev | Next |

 

Copyright © T'sWare All rights reserved