プロジェクト仕様
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 プロジェクト」を選択する。
プロジェクト名:SSIS_Package_Project1
※プロジェクトの新規作成で「ビジネス インテリジェンス」が見えない場合はSSDTの導入に失敗している可能性が高いです。
2. 新規データフロータスクを作成
・ソリューション エクスプローラーのプロジェクト ツリー内のSSISパッケージ内にある「Package.dtsx」をダブルクリック(or メニューから「ビューデザイナー」を選択)
※新規プロジェクトの起動時にPackage.dtsx のデザイン画面が起動しているハズ。
・Package.dtsx のデザイン画面から「データフロー」を選択する。
画面中央に「新しいデータフロータスクの追加」のリンクがあるのでクリック。
3. 変換元データソースを設定
・追加されたデータフロータスクの画面で左ペインの「変換元アシスタント」をダブルクリック。
・変換元の型を選択
変換元の型:SQL Server を選択して接続先マネージャーの選択で「新規作成」を選択
・変換元のSQL Serverの接続情報を設定
Item | Value |
---|---|
プロバイダー | SQL Server Native Client 11.0 |
サーバー名 | 192.168.1.50¥SQLEVA |
認証 | Windows認証 |
データベース名 | AdventureWorksLT2012 |
接続テストで接続情報が正しいことを確認し「OK」すること。
データフロータスクに「OLE DBソース」が作成される。
4. パラメータの登録
クエリでパラメータを使用しない場合は設定不要。
・Package.dtsx のデザイン画面から「パラメータ」を選択する。
・パラメータ画面の左上の「パラメータの追加」を選択する。
・パラメータに下表の内容を設定する。
Item | Value |
---|---|
名前 | ProductCategoryID |
データ型 | Int32 |
値 | 5 |
機微 | False |
必須 | True |
5. OLE DBソースの編集
Step 3で作成した「OLE DBソース」をデザイン上で左クリック→編集を選択する。
「OLE DBソース エディター」で以下を設定。
・データアクセスモード: SQLコマンド
・SQLコマンド: 以下のパラメータクエリを張り付ける
パラメータクエリ
SELECT ProductID
, Name
, ProductNumber
, Color
, StandardCost
, ListPrice
, Size
, Weight
, ProductCategoryID
FROM SalesLT.Product AS X
WHERE X.ProductCategoryID = ?;
※OLE DBソースの場合はパラメータ化する部分を「?」としておくこと!!。
「OLE DBソース エディター」の「パラメーター」を選択し「クエリ パラメーターの設定」画面を開き設定を行う。
変数項目でStep 4 にて追加したパラメータが選択できる。
※パラメータークエリを使用する場合はOLE DBソースの編集の前にPackageデザインからパラメーターの追加を行うこと。
6. 変換先の追加
・Packageデザインのデータフロータスクの画面で左ペインの「その他の変換先」から「フラットファイル変換先」を選択しデータフローにドラッグ。
7. 変換先の編集
Step 6で作成した「フラットファイル 変換先」をデザイン上で左クリック→編集を選択する
・フラットファイル変換先エディターから「新規作成」を選択する。
・フラットファイル形式は「区切り記号」を選択する。(デフォルト)
・フラットファイル接続マネージャーエディターで以下を設定
Item | Value |
---|---|
ファイル名 | C:\Temp\SSIS_ProductType.txt |
コードページ | 1252 (ANSI ? ラテン I) |
先頭データ行を列名として使用する | チェック |
※Cドライブ直下に「Temp」フォルダを作成していること。
※元データである「AdventureWorksLT2012」の照合順序が「SQL_Latin1_General_CP1_CI_AS」となっており、対応するコードページは「1252 (ANSI - ラテンI)」となる。
・フラットファイル変換エディター画面に戻って、「マッピング」を選択しOKを押す。
※変換元データ、変換先情報に編集を加えた場合は必ずマッピング画面を選択してOKすること。
8. 動作確認
変更内容の保存を行い、デバッグを開始する。
正常に終了すればStep 7 で設定したディレクトリにテキストファイルが作成される。
注意点
- 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 件のコメント:
コメントを投稿