今回は、SQL Serverで使えるIntegration Servicesの簡単な使い方についてお話していこうと思います。
Integration Servicesとは?
Integration Servicesとは、テキストファイルやExcelファイルのインポートとエクスポートを行うことができる機能になります。
テキストファイルだけではなく、別RDBMSのOracleやDB2など任意のデータベースとの間でもデータのインポートとエクスポートを行うことができます。
SQL Serverには、bcpコマンドでテキストファイルからインポートとエクスポートを行うことができますが、Integration Servicesはその上位互換となるような位置づけで使える機能となります。
インストールは、SQL Serverをインストールするときに追加コンポーネントとして「Integration Services」を選択することで行うことができます。
以下はMicrosoft公式サイトから借用しました。
この記事では、データのエクスポートのやり方を見ていきたいと思います。
SQL Server Integartion Services(SSIS)でデータをエクスポートしてみる
それでは、データのエクスポートを試してみましょう。今回は、SQL Serverのサンプルデータベースである「AdventureWorks2016」のHumanResources.Departmentテーブルからデータをインポートして、テキストファイルに出力してみることにします。
SSMSを起動し、オブジェクトエクスプローラーからデータベース「AdventureWorks2016」を右クリックし、「タスク」から「データのエクスポート」を選択します。
以下の画面が開いたら、「Next」を押下します。
データソースの選択画面が開きます。データソースは「SQL Server Native Client 11.0」を選択します。
今回はローカルにインストールしたSQL Serverからエクスポートするため、サーバーは「localhost」、認証方法は「Windows認証」、データベースは、「AdventureWorks2016」を選択し、「Next」を押下します。
変換先の選択画面が開きます。変換先は、「Flat File Destination」(これがテキストファイル)を選択し、ファイル名は「C:\temp\Department.txt」、ロケールは、コードページはデフォルトのまま、テキスト修飾子は「"」(ダブルクォーテーション)を入力し、「Next」を押下します。
テーブルのコピーまたはクエリの指定画面が開きます。「1つ以上のテーブルまたはビューからデータをコピーする」が選択されていることを確認し、「Next」を押下します。
因みに、「転送するためのデータを指定するためのクエリを記述する」を選択した場合は、エクスポートするためのデータをSQLで指定することができます。
フラットファイルの変換先の構成画面が開きます。変換元テーブルまたはビューは「HumanResources.Department」を選択し、あとは以下の画面の通りに選択して、「Next」を押下します。
パッケージの保存および実行画面は開きます。「すぐに実行する」チェックボックスがONになっていることを確認し、「Next」を押下します。
最後に確認画面が開きますので、「Finish」を押下します。するとデータのコピーが行われ、テキストファイルが作成されます。
以下のようなエクスポートの完了画面が開いたら、処理が正しく完了できています。
以下の通り、指定した変換先ファイルが作成されデータがエクスポートできました。
おわりに
いかがでしたでしょうか。データをうまくやりくりするために使える機能ですので、システム開発の現場で役に立つこともあるかと思います。
今回はエクスポートのみ試してみましたが、インポートも同じような形でできますので、興味がある方は調べながら実施してみてはいかがでしょうか。
最後までお読みいただきありがとうございました。今回はこの辺で失礼いたします。