前回のブログではデータのエクスポートを扱ったので、今回はその逆にデータのインポートを試してみましょう。前回と同じようにMicrosoftがサンプルデータベースとして使っているAdventureWorksと言うデータベースを使いますが、既に使っているテスト用のデータベースがあれば代用できます。
SQL Server Management Studio(SSMS)からでしたらAdventureWorksのデータベースの名前を右クリックし、
タスクー>データのインポート
を選びます。
データソースの選択
前回のデータエクスポートの時と同じ様にデータソースを選びます。今回は、下の画面の様に、前回使ったExcelファイルをデータソースとして使います。
変換先の選択
データの送り先としてOLE DB Provider for SQL Serverと選択肢、サーバー名をタイプし、データベースにはAdventureWorksを選びます。前回申したとおり、認証方法にはMicrosoftの薦めるWindows認証を選びます。そして、次へをクリック
テーブルのコピーまたはクエリの指定
今回はExcelがデータソースですので、デフォルトのまま次にをクリック
コピー元のテーブルおよびビューを選択
今回はExcelがソースですのでテーブルと言うより、ワークシートの選択になります。前回のデータの送り先であるProduct$を選び、右側の変換先のテーブルは名前を変更し「ProductTest」とします。ProductTestというテーブルはないためSSISがデータをInsertする前にそのテーブルを作ります。そして次へをクリック
そして完了をクリック
パッケージの保存および実行
前回と同じく「すぐに実行」と「SSISパッケージを保存する」の両方をチェックし次へをクリック
次の画面でパッケージに名前をつけ保存場所を指定し次へをクリック
そして完了をクリック
504行のデータが転送されたとあり成功したのが分ります。
SSMSでテーブルを広げてみると新たに「ProductTest」というテーブルが加えられたのが確認できます。
SELECT ステートメントでデータを確認してみると下記のようにExcelと同じデータが転送されたことが分ります。
次のブログではSSDT(SQL Server Data Tools)の概要を見てみることにします。