2018年12月30日日曜日

SSISプロジェクトの作成

Integration Services プロジェクトの作成手順を以下にまとめます。

プロジェクト仕様

Queryで取得した結果をテキストファイルに書き出すツールとして作成。
  • 開発環境:VS2015 Community Update 3
  • SQL Server Data Tools:SSDT for VS2015 (14.0.61712.50)
    → SSIS用のプロジェクトを作成するためにはVisual Studioの導入後に対応するSSDTをインストールする必要があります。
    Visual Studio の SQL Server Data Tools (SSDT) をダウンロードし、インストールする
  • データソース: SQL Server 2012 SP4 (11.0.7001.0 (X64))
            AdventureWorksLT2012
  • データ保存先:ローカル ファイル(テキスト ファイル)

実装手順

1. SSIS用の新規プロジェクトを作成
Visual Studio 2015 を起動しファイルメニュー→新規作成→プロジェクトからビジネス インテリジェンスの項目の「Integration Services プロジェクト」を選択する。
enter image description here

プロジェクト名:SSIS_Package_Project1
※プロジェクトの新規作成で「ビジネス インテリジェンス」が見えない場合はSSDTの導入に失敗している可能性が高いです。


2. 新規データフロータスクを作成
・ソリューション エクスプローラーのプロジェクト ツリー内のSSISパッケージ内にある「Package.dtsx」をダブルクリック(or メニューから「ビューデザイナー」を選択)
※新規プロジェクトの起動時にPackage.dtsx のデザイン画面が起動しているハズ。
・Package.dtsx のデザイン画面から「データフロー」を選択する。
画面中央に「新しいデータフロータスクの追加」のリンクがあるのでクリック。

enter image description here


3. 変換元データソースを設定
・追加されたデータフロータスクの画面で左ペインの「変換元アシスタント」をダブルクリック。
enter image description here


・変換元の型を選択
変換元の型:SQL Server を選択して接続先マネージャーの選択で「新規作成」を選択

enter image description here


・変換元のSQL Serverの接続情報を設定

Item Value
プロバイダー SQL Server Native Client 11.0
サーバー名 192.168.1.50¥SQLEVA
認証 Windows認証
データベース名 AdventureWorksLT2012

接続テストで接続情報が正しいことを確認し「OK」すること。

enter image description here


データフロータスクに「OLE DBソース」が作成される。

enter image description here


4. パラメータの登録
クエリでパラメータを使用しない場合は設定不要。
・Package.dtsx のデザイン画面から「パラメータ」を選択する。
・パラメータ画面の左上の「パラメータの追加」を選択する。
・パラメータに下表の内容を設定する。

Item Value
名前 ProductCategoryID
データ型 Int32
5
機微 False
必須 True

enter image description here


enter image description here


5. OLE DBソースの編集
Step 3で作成した「OLE DBソース」をデザイン上で左クリック→編集を選択する。
「OLE DBソース エディター」で以下を設定。
・データアクセスモード: SQLコマンド
・SQLコマンド: 以下のパラメータクエリを張り付ける

enter image description here


パラメータクエリ
SELECT ProductID
 , Name
 , ProductNumber
 , Color
 , StandardCost
 , ListPrice
 , Size
 , Weight
 , ProductCategoryID
FROM SalesLT.Product AS X
WHERE X.ProductCategoryID = ?;

※OLE DBソースの場合はパラメータ化する部分を「?」としておくこと!!。
「OLE DBソース エディター」の「パラメーター」を選択し「クエリ パラメーターの設定」画面を開き設定を行う。

enter image description here


変数項目でStep 4 にて追加したパラメータが選択できる。
※パラメータークエリを使用する場合はOLE DBソースの編集の前にPackageデザインからパラメーターの追加を行うこと。


6. 変換先の追加
・Packageデザインのデータフロータスクの画面で左ペインの「その他の変換先」から「フラットファイル変換先」を選択しデータフローにドラッグ。

enter image description here


enter image description here


7. 変換先の編集
Step 6で作成した「フラットファイル 変換先」をデザイン上で左クリック→編集を選択する
・フラットファイル変換先エディターから「新規作成」を選択する。

enter image description here


・フラットファイル形式は「区切り記号」を選択する。(デフォルト)

enter image description here


・フラットファイル接続マネージャーエディターで以下を設定

Item Value
ファイル名 C:\Temp\SSIS_ProductType.txt
コードページ 1252 (ANSI ? ラテン I)
先頭データ行を列名として使用する チェック

※Cドライブ直下に「Temp」フォルダを作成していること。
※元データである「AdventureWorksLT2012」の照合順序が「SQL_Latin1_General_CP1_CI_AS」となっており、対応するコードページは「1252 (ANSI - ラテンI)」となる。


enter image description here

・フラットファイル変換エディター画面に戻って、「マッピング」を選択しOKを押す。
※変換元データ、変換先情報に編集を加えた場合は必ずマッピング画面を選択してOKすること。

enter image description here


8. 動作確認
変更内容の保存を行い、デバッグを開始する。
正常に終了すればStep 7 で設定したディレクトリにテキストファイルが作成される。

enter image description here


enter image description here

注意点

  • SQL Server はEvaluation若しくはStandard以上の商用ライセンスを使用すること。
  • Visual Studio は2015以降のVersionを使用すること
    → 2015以降でないとVSプロジェクトからターゲットとなるSQL ServerのVersionを変更出来ません。
    ※統合サービスカタログを使用しない場合は気に無くても良い。
  • VS2015のProject内でSQL Serverへの認証を設定する場合はWindows認証を選択すること。→ SQL Server認証ではエラーになる場合はあります。
  • WorkGroup環境では、VS2015をインストールしているPCにSQL Serverをインストールすること。(Remote接続はエラーになります)

まとめ

・変換元、変換先の設定を変えることで色々なデータに対応出来ることがメリットでしょうか。
作成手順が多少わかりずらいのが難点です。
・変換先の設定でコードページの指定がありますが、元データの照合順序に対応したコードを選択する必要があります。




0 件のコメント:

コメントを投稿