• 検索結果がありません。

STEP 3. Integration Services による エクスポートとインポート

3.3 Integration Services による CSV ファイルのインポート

インポート/エクスポート ウィザードでのインポート

インポート/エクスポート ウィザードでは、CSV ファイルを SQL Server 内へインポートする ことも簡単に行うことができます。

Let's Try

それでは、これを試してみましょう。前の Step でエクスポートした「C:\shain2.txt」ファイル を SQL Server へインポートしてみましょう。

1. まずは、[スタート]メニューの[すべてのプログラム]→[Microsoft SQL Server 2012]

から[データのインポートおよびエクスポート(32ビット)または(64ビット)]をクリッ クします(X64 環境では、(64ビット) メニューをクリックします)。

2. インポート/エクスポート ウィザードが起動されたら、[次へ]ボタンをクリックします。

36

3. 次の[データ ソースの選択]画面では、データのコピー元を選択します。コピー元がテキス ト ファイルの場合は、[データ ソース]で[フラット ファイル ソース]を選択します。

続いて、[ファイル名]の[参照]ボタンをクリックして、コピー元となるファイルを選択し ます。次のように[ファイルの場所]で「ローカル ディスク(C:)」を選択します。

C: ドライブ内のすべてのファイルが表示されたら、「C:\shain2.txt」ファイルを選択して、

[開く]ボタンをクリックします。

4. [データ ソースの選択]画面へ戻ったら、次のように[ファイル名]へ「Shain2.txt」ファ イルへのパスが表示されているのを確認します。

1

2

2 1

3

[テキスト修飾子]へは、「"」(2重引用符)を入力します。

5. 続いて、次のように[列]ページをクリックして開きます。[列]ページでは、テキスト ファ イルのデータ形式を設定することができます。

[行区切り記号]に "改行" を表す {CR}{LF} が選択され、[列区切り記号]にコンマ {,}

が選択されていることを確認します。今回取り込むファイルは、CSV(カンマ区切り)ファイ ルなので、このままの設定で大丈夫です。

[2~7行のプレビュー]には、コピー元の CSV ファイルのデータが表示され、先頭データ

テキスト修飾子に「”」

(二重引用符)を入力 2

1

1 2

3 4

5

38 す。

6. 次の[変換先の選択]画面では、コピー先を指定します。今回は、SQL Server へインポート するので、[変換先]で「SQL Server Native Client 11.0」を選択し、[サーバー名]へSQL

Serverの名前を入力します。[データベース]へは、インポート先となるデータベースを選択

しますが、ここでは[新規作成]ボタンをクリックして、新しくデータベースを作成します。

7. [データベースの作成]ダイアログが表示されたら、[名前]へ新しく作成する任意のデータ ベース名(今回は、SSISDB)を入力し、[OK]ボタンをクリックします。これで、SSISDB という名前のデータベースが作成されます。

8. [変換先の選択]画面へ戻ったら、[次へ]ボタンをクリックして次の画面へ進みます。

1

2

1

2

9. 次の[コピー元のテーブルおよびビューを選択]画面では、インポート元とインポート先とな るテーブルを指定します。今回のようにインポート元がテキスト ファイルの場合には、[変換 元]へファイル パス(C:\shain2.txt)が表示されます。

[変換先]へは、[dbo].[shain2] と表示されますが、これは「SSISDB」データベース内 へ「shain2」という名前のテーブルを作成するという意味です(テーブルは実際にデータが 転送されるときに自動作成されます)。テーブル名は、ここで変更することもできますが、今 回は、「shain2」という名前のままにしておきます。

10. 続いて、[マッピングの編集]ボタンをクリックします。すると、次のように[列マッピング]

1

1

40 ます。

既定では、テキスト ファイルのデータは、varchar データ型として設定され、列名は、変換 元と同じ列名が設定されます。

今回は、「入社日」と「部門番号」は、「<無視>」を選択して、コピー対象から外すようにし ます。このダイアログでは、データ型やサイズなども変更できますが、今回は、このままで[OK]

ボタンをクリックします。

11. [コピー元のテーブルおよびビューを選択]画面へ戻ったら、[次へ]ボタンをクリックしま す。

[マッピングの編集]をクリックした場 合はコピーしない列を設定したりできる。

CSV ファイルの列数とテーブルの列数が 異なる場合に役立つ

列名やデータ型の 変更も可能

1

2

12. 次の[パッケージの保存および実行]画面では、[すぐに実行する]を選択して、[次へ]ボタ ンをクリックします。

13. 最後の[ウィザードの完了]画面で[完了]ボタンをクリックすると、データのインポートが 開始されます。

1

1

2

42

14. インポートが完了すると、[操作は正常に実行されました]画面が表示されます。[状態]が「成 功」と表示されていることを確認して、[閉じる]ボタンをクリックします。

インポートされたデータの確認

1. ウィザードでインポートしたデータを確認するには、Management Studio のオブジェクト エクスプローラーで[データベース]フォルダーを右クリックして、[最新の情報に更新]を クリックします。「SSISDB」データベースが表示されたら、次のように[テーブル]フォル

1

1

ダーを展開して、「shain2」という名前のテーブルを表示します。

2. 続いて、「shain2」テーブルを右クリックして[上位1000 行の選択]をクリックします。

これにより、shain2 テーブルのデータが表示されます。社員番号と氏名、給与がコピーされ ていて、入社日と部門番号については、コピーされていないことを確認できます。

このように、Integration Services では、インポート元の CSV ファイルの列数とテーブル の列数が異なる場合にも、簡単にコピーすることができます(前の Step で利用した bcp コ マンドで同じことを実現しようとすると、フォーマット ファイルを作成しなければなりませ ん)。

1

1 「shain2」テーブル

のデータが表示される 2

44