取り込む Excel データ
次に、Excel 2003 のデータ(.xls フゔル)を取り込んでみましょう。取り込むフゔルは、サ ンプル スクリプト内の「Shohin.xls」という名前のフゔルです。
実行手順
Excel データをンポートする手順は、Access データベースをンポートする手順とほとんど同 じです。違うのは、[データソースの選択](データソースの選択)画面だけです。
1. まずは、次のように Management Studio で取り込み先のデータベース(SSISdb1)を右 クリックして[タスク]メニューの[データのンポート]をクリックします。
2. すると、ンポート/エクスポート ウゖザードが起動するので、[次へ]ボタンをクリックし ます。
2
3 1
3. 次の[データソースの選択]画面では、[データ ソース]で「Microsoft Excel」を選択しま す。
次に、[参照]ボタンをクリックして、サンプル スクリプト内の「Shohin.xls」を選択し、
[先頭行に列名を含める]チェック ボックスがチェックされていることを確認して、[次へ]
ボタンをクリックします。
Note: Excel 2007 データ(.xlsx)を取り込む場合
Excel 2007(.xlsx フゔル)からデータを取り込む場合は、[Excel バージョン]で「Microsoft Excel 2007」
を選択しますが、Access 2007 の場合と同様、「Microsoft Office 12.0 Access Database Engine OLE DB Provider」
のンストールが必要になります。
1
1
2
6 4
最初の行を列名として扱う設定。
チェックが付いていることを確認
サンプル スクリプト内の Shohin.xlsフゔルを選択 3
5
1
このプロバダは、Microsoft Office 2007 をンストールするか、下記のサトから「2007 Office system ドラ
バ」をダウンロードして、ンストールすることで、利用できるようになります。
2007 Office system ドラバ: データ接続コンポーネント
http://www.microsoft.com/downloads/details.aspx?FamilyId=7554F536-8C28-4598-9B72-EF94E038C89 1&displaylang=ja
このプロバダをンストールしていない場合は、[次へ]ボタンをクリックしたときに、次のエラー メッセージが 表示されます。
4. 次の[変換先の選択]画面では、データの転送先(取り込み先)を指定します。
今回は、事前に「SSISdb1」データベースを選択してウゖザードを起動したので、[データベ ース]へ「SSISdb1」が選択されていることを確認して、[次へ]ボタンをクリックします。
5. 次の[テーブルのコピーまたはクエリの指定]画面では、[1 つ以上のテーブルまたはビュー からデータをコピーする]が選択されていることを確認して、[次へ]ボタンをクリックしま す。
3 1
2
6. 次の[コピー元のテーブルおよびビューを選択]画面では、転送元となるデータの一覧が表示 されます。
変換元が Excel の場合には、Excel フゔル内のワークシートの名前に「$」マークをつけ たものが一覧されます。今回のフゔルはワークシート名を変更していないので、既定の 3 つ のワークシート名(Sheet1、Sheet2、Sheet3)に「$」マークを付けたものが一覧されてい ます。今回取り込むデータは Sheet1 へ入れてあるので、「Sheet1$」をチェックします。
これにより、転送先のテーブル名(変換先)が [dbo].[Sheet1$] と表示されます。
これは、「SSISdb1」というデータベースの中に「Sheet1$」という名前のテーブルを作成
2 1
作成されるテーブル名 が表示される 転送元データのシート名
をチェック 1 2
するという意味です。これを、次のように「商品」など分かりやすい名前へと変更します。
続いて、[マッピングの編集]ボタンをクリックして、[列マッピング]ダゕログを表示し、
作成されるテーブルのデザンを確認します。
転送元(変換元)の列名には、Excel シートの 1 行目のデータが設定され、それをもとに転 送先(変換先)に作成されるテーブルの列名が設定されていることを確認できます。
データ型は、既定では、Excel 内の数値データは float 型、文字データは nvarchar(255) 型 として作成されます。列の名前やデータ型、サズなどは、変更することもできますが、今回 は何も変更せずに内容を確認するだけで、[OK]ボタンをクリックします。
1
「Sheet1$」の部分を
「商品」へ変更
2
3
作成されるテーブルの列名や データ型、サズなどを確認 転送元の列。
Excel シートの 1 行目 のデータが設定される
1 2
7. [コピー元のテーブルおよびビューを選択]画面へ戻ったら、[プレビュー]ボタンをクリッ クします。
すると、[データのプレビュー]ダゕログが開いて、転送元となる Excel データの内容を確 認することができます。確認後、[OK]ボタンをクリックします。
8. [コピー元のテーブルおよびビューを選択]画面へ戻ったら、[次へ]ボタンをクリックしま す。
9. 次の[パッケージの保存および実行]では、次のように[すぐに実行する]と[SSIS パッケ ージを保存する]の両方をチェックして、データ転送をすぐに実行して、かつ後からも実行で きるように “SSIS パッケージ” として保存しておくようにします。
2
3
1
↓
1
パッケージの保存先として[フゔル システム]を選択して、[次へ]ボタンをクリックしま す。
10. 次の[SSIS パッケージの保存]画面では、保存するパッケージの名前と保存場所を指定しま す。今回は、次のように[名前](パッケージ名)へ「商品 Package」と入力し、[フゔル 名]のパスを「C:\商品 Package.dtsx」へ変更し、C:\ ドラブの直下へ保存されるよう にします。変更後、[次へ]ボタンをクリックして、次へ進みます。
11. 最後の[ウゖザードの完了]画面で[完了]ボタンをクリックするとデータのンポートが開 始されます。
1
3 2
ココをチェックして、データ転送を後からも実行 できるように、SSIS パッケージとして保存する。
保存先には、「フゔル システム」をチェック
1
2
3
実行完了後、[状態]がすべて「成功」と表示されていることを確認して、[閉じる]ボタンを クリックします。
取り込んだデータの確認
12. ウゖザードでンポートしたデータを確認するには、次のように Management Studio で
[SSISdb1]データベースの[テーブル]フォルダを右クリックして、[最新の情報に更新]
をクリックします。
テーブルの一覧に「商品」という名前のテーブルが作成されていることを確認します。
続いて、[商品]テーブルを右クリックして[上位 1000 行の選択]をクリックします。
1 3
2
↓
1
2
3
↓
これにより、商品テーブルのデータが表示されます。表示されるデータが、Excel フゔル内 のデータ(以下)と同じであることを確認します。
1
2
3
Shohin.xls フゔルのデータ