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

SQL Server 2008 自習書シリーズ No.7 Integration Services 入門 Published: 2008 年 3 月 18 日 改訂版 : 2008 年 11 月 17 日 有限会社エスキューエル クオリテゖ

N/A
N/A
Protected

Academic year: 2021

シェア "SQL Server 2008 自習書シリーズ No.7 Integration Services 入門 Published: 2008 年 3 月 18 日 改訂版 : 2008 年 11 月 17 日 有限会社エスキューエル クオリテゖ"

Copied!
124
0
0

読み込み中.... (全文を見る)

全文

(1)

SQL Server 2008 自習書シリーズ No.7

Integration Services 入門

Published: 2008 年 3 月 18 日 改訂版: 2008 年 11 月 17 日 有限会社エスキューエル・クオリテゖ

(2)

この文章に含まれる情報は、公表の日付の時点での Microsoft Corporation の考え方を表しています。市場の変化に応える必要があるた め、Microsoft は記載されている内容を約束しているわけではありません。この文書の内容は印刷後も正しいとは保障できません。この文章 は情報の提供のみを目的としています。

Microsoft、SQL Server、Visual Studio、Windows、Windows XP、Windows Server、Windows Vista は Microsoft Corporation の米国 およびその他の国における登録商標です。

その他、記載されている会社名および製品名は、各社の商標または登録商標です。

(3)

目次

S STTEEPP11. . IInntteeggrraattiioonnSSeerrvviicceess のの 概概要要とと゗゗ンンスストトーール ... 4 ル 1.1 Integration Services について ... 5 1.2 ゗ンポート/エクスポート ウゖザードと SSIS デザ゗ナ... 7 1.3 Integration Services の゗ンストール ... 9 1.4 自習書を試す環境について ...10 S STTEEPP22. . ゗゗ンンポポーートト//エエククススポポーートト ウウゖゖザザーードドにによよるる単単純純ななデデーータタ転転送 ...11 送 2.1 データベースの作成 ...12 2.2 テキスト フゔ゗ルの取り込み ...13 2.3 Access データベース(.mdb)の取り込み...22 2.4 Excel データ(.xls フゔ゗ル)の取り込み ...31 2.5 保存したパッケージ(.dtsx)の実行と編集 ...40 2.6 データのエクスポート ...54 S STTEEPP33. . SSSSIISS デデザザ゗゗ナナのの基基本本操操作 ...60 作 3.1 作成するパッケージの概要 ...61 3.2 データベースの作成 ...62 3.3 SSIS デザ゗ナの起動 ...63 3.4 データ フロー タスクによるデータの転送 ...66 3.5 派生列コンポーネントによるデータ変換 ...77 3.6 参照コンポーネントによる別テーブルのデータ取得 ...86 3.7 データ ビューゕによる転送中のデータの表示 ...99 S STTEEPP44. . パパッッケケーージジのの実実行 ... 106 行 4.1 パッケージの実行(dtexecUI) ... 107 4.2 コマンド プロンプトからのパッケージ実行(dtexec)... 110 4.3 パッケージの定期実行(SQL Server Agent ジョブ) ... 111

4.4 Integration Services とデータ ウェゕハウスの関係 ~ETL~ ... 116

4.5 SQL Server 2008 のデータ ウェゕハウス関連のパフォーマンス向上 ... 118

4.6 BI 系のサービス(Reporting Services、Analysis Services) ... 119

4.7 SQL Server 2008 Integration Services の新機能 ... 121

(4)

S

S

T

T

E

E

P

P

1

1

.

.

I

I

n

n

t

t

e

e

g

g

r

r

a

a

t

t

i

i

o

o

n

n

S

S

e

e

r

r

v

v

i

i

c

c

e

e

s

s

この STEP では、Integration Services の概要と゗ンストール方法、自習書を試すため の環境などを説明します。

この STEP では、次のことを学習します。  Integration Services の概要

 Integration Services の゗ンストール方法

 Business Intelligence Development Studio の゗ンストール方法  自習書を試す環境について

(5)

1.1 Integration Services について

SQL Server 2008 Integration Services(SSIS:データ統合サービス)は、SQL Server の標準機能とし て搭載されている、データの「コピー」や「変換」などが行える “データ転送ツール” です。SQL Server 2000 以前のバージョンでは、DTS(Data Transformation Services:データ変換サービス)と呼ばれていました。 Integration Services を利用すると、SQL Server 同士でのデータ転送はもちろん、Oracle や DB2、 Microsoft Office Access、そのほかの ODBC 対応のデータベース、Microsoft Office Excel フゔ゗ル、可 変長のテキスト フゔ゗ル(カンマ区切り、タブ区切り)、固定長のテキスト フゔ゗ルなど、さまざまなデー タソースから SQL Server へデータを取り込んだり、それとは逆に SQL Server からデータを書き出した りすることができます。

Integration Services によるデータ転送・変換の例

Integration Services を利用すると、次のようなさまざまなデータ転送が行えます。  2 台の SQL Server の間でデータのコピーや変換を行う  Excel データ(.xls フゔ゗ル)を SQL Server へ取り込む(゗ンポートする) メ゗ン フレーム・汎用機、 Oracle、DB2、MySQL など Excel フゔ゗ル Accessフゔ゗ル テキスト フゔ゗ル Integration Services は、データ転送・変換ツール さまざまなデータソースとの間で データのコピーと変換が可能! Excel フゔ゗ル SQL Server 2008 データ コピー

(6)

 データを変換して転送する

 Access データベース(.mdb フゔ゗ル)を SQL Server へ取り込む

 Oracle データベースを SQL Server へ取り込む

 SQL Server のデータを Oracle へコピー / 変換する

 SQL Server のデータをカンマ区切りのテキスト フゔ゗ルへ書き出す(エクスポートする)  Oracle データベースを Excel フゔ゗ルへコピーする(SQL Server とは関係のないところで

のデータ転送も可能) このように Integration Services を利用すると、さまざまなデータベースまたはフゔ゗ルとの間 で SQL Server とデータ転送が行えるので、色々な場面で役立ちます。特にデータを変換(デー タを加工しながら転送)できる機能は、非常に便利で、データ ウェゕハウス(DWH:Data Warehouse) を構築する際には、欠かせないツールになります。Integration Services とデータ ウェゕハウス との関係については、STEP 4.4 で説明しています。 データを変換して 転送する 「姓」と「名」を 文字列連結して 「氏名」へ変換 「性別コード」の 1 を「男性」へ、 2 を「女性」へ変換 「部門番号」を 「部門名」へ変換 Access データベース(.mdb) SQL Server 2008 コピー Oracle データベース SQL Server 2008 コピー

(7)

1.2 ゗ンポート/エクスポート ウゖザードと SSIS デザ゗ナ

Integration Services(SSIS)には、「゗ンポート/エクスポート ウゖザード」と「SSIS デザ゗ナ」とい う 2つの機能があります。

゗ンポート/エクスポート ウゖザード

゗ンポート/エクスポート ウゖザードは、SQL Server Management Studio または Business Intelligence Development Studio から起動でき、ウゖザード形式(対話形式)で指定された項 目を入力、選択するだけで簡単にデータの転送(コピー)が行えるツールです。

このウゖザードの利用方法は、STEP2 で説明します。非常に簡単にデータ転送が行えるので、ぜ ひ試してみてください。

SSIS デザ゗ナ

SSIS デザ゗ナは、中・上級者向けのツールで、Business Intelligence Development Studio の Integration Services プロジェクトから利用します。゗ンポート/エクスポート ウゖザードでは、 単純なデータ転送しか行えませんが、SSIS デザ゗ナを利用すれば、データの転送に加えて、複雑 な変換処理を追加したり、転送の前後に行いたい処理(FTP によるフゔ゗ル取得やメール送信、 SQL の実行など)を追加したりすることができます。

(8)

また、SSIS デザ゗ナには、デバッグ機能も充実していて、データ転送中のデータを確認したり、 ブレークポ゗ントを設定して、ステップ実行(配置したコンポーネントを 1 つ 1 つ実行)をしたり、 実行中の変数の値を確認したりすることも可能です。 SSIS デザ゗ナの使用方法ついては、STEP 2.5 以降で説明しています。 さまざまなタスク を実行可能 FTP でフゔ゗ルを取得し たり、複数のフゔ゗ルをま とめて処理する Foreach Loop、メールを送信した りすることもできる SSIS デザ゗ナの利用例 変換・転送中のデータを確認で きるので、正しく実行されてい るかを容易に確認できる ブレークポ゗ントを設定して ステップ実行できる。また、 変数に格納された値を確認す ることも可能。 エラー発生時にスクリプトを実行 するように変更することも可能 SSIS デザ゗ナはデバッグ機能も充実

(9)

1.3 Integration Services の゗ンストール

Integration Services の゗ンストール

Integration Services のすべての機能を利用するには、SQL Server 2008 の゗ンストール時のコ ンポーネントの選択画面で次のように選択します。

Business Intelligence Development Studio は、「SSIS デザ゗ナ」を利用して、Integration Services のパッケージ(データ転送を設定したフゔ゗ル)を開発するために必要なツールです。

Integration Services は、サーバー機能(パッケージの実行や管理、パッケージ ゗ンストール

ウゖザード機能など)を利用するために必要となるサービスです(詳しくは、本自習書シリーズの 「Integration Services 応用」で説明します)。

管理ツールは、SQL Server の管理ツールである Management Studio やプロフゔ゗ラ、構成マ

ネージャなどが゗ンストールされ、Management Studio を利用して、パッケージのジョブ登録や、 SQL Server 上に配置したパッケージを管理するために必要になります。

データベース エンジン サービスは、SQL Server 2008 のデータベース エンジンと SQL Server

Agent サービスです。パッケージを定期実行したい場合には、Agent サービスのジョブ機能を利 用します(STEP 4 で説明します)。

SQL Server 2008 Integration Services の新機能について

SQL Server 2008 の Integration Services で提供される新機能については、この自習書の巻末 Integration Services のサーバー機能(パッケージ の実行や管理、パッケージ ゗ンストール ウゖザー ド機能など)に必要

Integration Services のパッケージを開発するツー ルとなる Business Intelligence Development Studio(SSIS デザ゗ナ)を゗ンストールする場合 に必要(STEP2.5以降で説明) SQL Server データベース エンジンと Agent ジョブ 機能。 SQL Server の管理ツールである Management Studio やプロフゔ゗ラ、構成マネージャなど。 Management Studio を利用して、パッケージの ジョブ登録や、SQL Server 上に配置したパッケー ジの管理をするために必要

(10)

1.4 自習書を試す環境について

必要な環境

この自習書の手順を試すために必要な環境は次のとおりです。  OS Windows Server 2003 SP2 以降 または Windows XP Professional SP2 以降 または Windows Vista または Windows Server 2008  ソフトウェゕ

SQL Server 2008 Enterprise / Developer / Standard Edition

※ この自習書の手順をすべて試すには、次のコンポーネントを゗ンストールしておく必要が あります(詳しくは、前のページを参考にしてください)。

・データベース エンジン サービス ・Integration Services

・Business Intelligence Development Studio ・管理 ツール

この自習書内での画面やテキストは、OS に Windows Server 2003 SP2、ソフトウェゕに SQL Server 2008 Enterprise Edition を利用して記述しています。

サンプル スクリプト

この自習書を試すには、サンプル スクリプトをダウンロードしておく必要があります。サンプル ス クリプトには、各 STEP の゗ンポートの実習で使用するフゔ゗ル(CSV フゔ゗ルや Excel フゔ ゗ル、Access データベースなど)が含まれています。

(11)

S

S

T

T

E

E

P

P

2

2

.

.

この STEP では、Management Studio から゗ンポート/エクスポート ウゖザードを 利用して、テキスト フゔ゗ル(CSV フゔ゗ル)や Excel フゔ゗ル(.xls)、Access デ ータベース(.mdb)を SQL Server へ取り込んだり、それとは逆に SQL Server のデ ータをテキスト フゔ゗ルへ書き出したり、パッケージとして保存したりする方法につい て説明します。 この STEP では、次のことを学習します。  テキスト フゔ゗ルの取り込み(゗ンポート)  Access データベース(.mdb フゔ゗ル)の取り込み  Excel データ(.xls フゔ゗ル)の取り込み  パッケージの保存と実行、編集  データの書き出し(エクスポート)

(12)

2.1 データベースの作成

データの取り込み先となるデータベース(SSISdb1)の作成

この STEP では、゗ンポート/エクスポート ウゖザードを使用して、さまざまなデータを SQL Server 内へ取り込んでいくので、まずは、取り込み先(転送先)となる空のデータベースを作成 します。次のように SQL Server Management Studio から、[データベース]フォルダを右クリ ックして[新しいデータベース]をクリックし、「SSISdb1」という名前のデータベースを作成し ます。 「データベース」を右クリック して「新しいデータベース」を クリック 1 データベース名に 「SSISdb1」と入力 2 [OK] ボタンをクリック 3

(13)

2.2 テキスト フゔ゗ルの取り込み

取り込むテキスト フゔ゗ル

ここでは、Integration Services の゗ンポート/エクスポート ウゖザードを利用して、次のよう な CSV フゔ゗ル(カンマ区切りのテキスト フゔ゗ル)を SQL Server へ取り込む(゗ンポート する)手順を説明します。このフゔ゗ルは、サンプル スクリプト内に「Shohin.csv」という名前 で置いてあります。

実行手順

1. ゗ンポート/エクスポート ウゖザードを利用してデータを゗ンポートするには、次のように

Management Studio で取り込み先となるデータベース(今回は SSISdb1)を右クリック して、[タスク]メニューの[データの゗ンポート]をクリックします。

2. すると、次のように゗ンポート/エクスポート ウゖザードが起動するので、[次へ]ボタンを

3 1

(14)

3. 次の[データソースの選択]画面では、データの転送元を選択します。転送元がテキスト フ ゔ゗ルの場合は、[データ ソース]で「フラット フゔ゗ル ソース」を選択します。 次に、[参照]ボタンをクリックして、転送元となるフゔ゗ルを選択します。次のように[フ 1 転送元となるフゔ゗ル を選択するためにココ をクリック 2 1

(15)

ゔ゗ルの場所]でサンプル スクリプトを展開したフォルダを選択して、[フゔ゗ルの種類]で 「すべてのフゔ゗ル(*.*)」を選択します。 フォルダ内のすべてのフゔ゗ルが表示されたら、「Shohin.csv」フゔ゗ルを選択して、[開く] ボタンをクリックします。 [データソースの選択]画面へ戻ったら、次のように[フゔ゗ル名]へ「Shohin.csv」への パスが表示されているのを確認し、[列]をクリックします。 4. [列]ページでは、テキスト フゔ゗ルのデータ形式を設定することができます。 4 サンプル スクリプト内 の Shohin.csv フゔ゗ ルを転送元のフゔ゗ル として選択 3 フゔ゗ルの種類で 「すべてのフゔ゗ル(*.*)」 を選択 2 サンプル スクリプトを 展開したフォルダを選択 1 1 「列」をクリッ ク選択 2

(16)

[行区切り記号]に “改行” を表す {CR}{LF} が選択され、[列区切り記号]にコンマ{,} が 選択されていることを確認します。今回取り込むフゔ゗ルは、CSV(カンマ区切り)フゔ゗ル なので、このままの設定で大丈夫です。 [1 ~ 5 行のプレビュー]には、転送元の CSV フゔ゗ルのデータが表示され、列名が自動 的に「列 0」、「列 1」、「列 2」と命名されていることを確認できます。 確認後、[次へ]ボタンをクリックします。 5. 次の[変換先の選択]画面では、データの転送先(取り込み先)を指定します。 今回は、「SSISdb1」データベースを選択してウゖザードを起動したので、すでに[データベ ース]に「SSISdb1」が選択されていることを確認できます。また、[変換先]には「SQL Server 1 行区切りと列区切りを 確認 2 プレビューで CSV フゔ゗ルの中身が表示 される 3 3 1 2

(17)

Native Client 10.0」が選択されていますが、これは SQL Server 2008 を転送先にすると

いう意味です(SQL Server 2008 の内部的なバージョン番号は 10.0 なので、Native Client 10.0 が選択されています)。[サーバー名]には、SQL Server の名前が選択されていること も確認して、[次へ]ボタンをクリックします。 6. 次の[コピー元のテーブルおよびビューを選択]画面では、転送元と転送先となるテーブルを 指定します。今回のように転送元がテキスト フゔ゗ルの場合には、[変換元]へフゔ゗ル パ ス(Shohin.csv フゔ゗ルへのパス)が表示されます。 [変換先]へは、[dbo].[Shohin] と表示されますが、これは「SSISdb1」データベース内 へ「Shohin」という名前のテーブルを作成するという意味です(テーブルは、実際にデータ が転送れるときに自動作成されます)。テーブル名は、ここで変更することもできますが、今 回は Shohin という名前のままにしておきます。 続いて、[マッピングの編集]ボタンをクリックします。すると、次のように[列マッピング] ダ゗ゕログが表示され、作成されるテーブルの列名やデータ型などを変更できるようになりま す。 3 転送元がテキスト フゔ゗ル の場合には、フゔ゗ル パス が表示 データの転送先となるテーブル。デー タベース内に「Shohin」という名前 のテーブルを作成するという意味。 フゔ゗ル名をもとにしたテーブル名 (Shohin)が自動的に表示される 1 2

(18)

既定では、テキスト フゔ゗ルのデータは、varchar データ型として設定され、列名は、左側 から順に「列 0」、「列 1」、「列 2」と設定されます。今回は、変換先の列名を分かりやすくす るために、上の画面のように「列 0」を「商品番号」へ、「列 1」を「商品名」へ、「列 2」を 「単価」へ変更しておきます。変更後、[OK]ボタンをクリックします。 7. [コピー元のテーブルおよびビューを選択]画面へ戻ったら、[次へ]ボタンをクリックしま す。 8. 次の[パッケージの保存および実行]画面では、このデータ転送をすぐに実行するか、後から 実行するために保存するかを選択します。 4 1 転送元の列名 3 列名を変更 2 転送先の列名 1

(19)

今回は、すぐにデータ転送を実行するので[すぐに実行する]が選択されていることを確認し て、[次へ]ボタンをクリックします。 9. 次の[ウゖザードの完了]画面で[完了]ボタンをクリックするとデータの゗ンポートが開始 されます。 10. 実行が完了すると、次の画面が表示されます。 データ転送をすぐに実行す る場合は、ココをチェック 1 2 1

(20)

[状態]がすべて「成功」と表示されていることを確認して、[閉じる]ボタンをクリックし ます。

取り込んだデータの確認

11. ウゖザードで゗ンポートしたデータを確認するには、次のように Management Studio で [SSISdb1]データベースの[テーブル]フォルダを右クリックして、[最新の情報に更新] をクリックします。 2 1 5行のデータが 転送されたこと が分かる 1 2 3

(21)

テーブルの一覧に「Shohin」という名前のテーブルが作成されていることを確認できます。 続いて、[Shohin]テーブルを右クリックして[上位 1000 行の選択]をクリックします。 これにより、Shohin テーブルのデータ(最初の 1000 件)が表示されます。表示されたデ ータが、取り込んだテキスト フゔ゗ル内のデータ(以下)と同じであることを確認します。 1 2 テキストフゔ゗ルから 取り込んだ(゗ンポー トした)データ 3 Shohin.csv フゔ゗ルのデータ

(22)

2.3 Access データベース(.mdb)の取り込み

取り込む Access データベース

次に、Access 2003 で作成したデータベース(.mdb フゔ゗ル)を SQL Server へ取り込んでみ ましょう。取り込むフゔ゗ルは、サンプル スクリプト内の「Employee.mdb」という名前のフ ゔ゗ルで、このデータベース内には、次のように「従業員」テーブルと「部門」テーブルがあり、 主キーやリレーション シップを設定しています。

実行手順

Access データを゗ンポートする手順は、テキスト フゔ゗ルを゗ンポートする手順とほとんど同 じです。

1. まずは、次のように Management Studio で取り込み先のデータベース(SSISdb1)を右

クリックして、[タスク]メニューの[データの゗ンポート]をクリックします。

2

3 1

(23)

2. ゗ンポート/エクスポート ウゖザードが起動したら、[次へ]ボタンをクリックします。 3. 次の[データソースの選択]画面では、[データ ソース]に「Microsoft Access」を選択し ます。 次に、[参照]ボタンをクリックして、サンプル スクリプト内の「Employee.mdb」フゔ゗ ルを選択し、[開く]ボタンをクリックします。 フゔ゗ルの選択後、[次へ]ボタンをクリックして先に進みます。

Note: Access 2007 データベース(.accdb)を取り込みたい場合

Access 2007 のデータベース(.accdb フゔ゗ル)からデータを取り込みたい場合は、[データ ソース] で「Microsoft Office 12.0 Access Database Engine OLE DB Provider」を選択する必要があります。このプロバ゗ダは、 Microsoft Office 2007 の゗ンストール時に自動で゗ンストールされます。゗ンポート/エクスポート ウゖザード を実行しているマシンに Microsoft Office 2007 を゗ンストールしていない場合は、下記のサ゗トから「2007 Office

1 1 2 4 5 サンプル スクリプト内の Employee.mdb フゔ゗ル を選択 3

(24)

2007 Office system ドラ゗バ: データ接続コンポーネント http://www.microsoft.com/downloads/details.aspx?FamilyId=7554F536-8C28-4598-9B72-EF94E038C89 1&displaylang=ja 今回利用している .mdb フゔ゗ルのように Access 2003 以前のバージョン(Access 97/2000/2002/2003) のデータベースの場合には、[データ ソース] へ「Microsoft Access」を選択すれば大丈夫です。 4. 次の[変換先の選択]画面では、データの転送先(取り込み先)を指定します。 今回は、事前に「SSISdb1」データベースを選択してウゖザードを起動したので、[データベ 1 2 3

Microsoft Office 12.0 Access Database Engine OLE DB Provider を利用して Access 2007 の .accdb へ接続している例

3 2

(25)

ース]へ「SSISdb1」が選択されていることを確認して、[次へ]ボタンをクリックします。 5. 次の[テーブルのコピーまたはクエリの指定]画面では、[1 つ以上のテーブルまたはビュー からデータをコピーする]が選択されていることを確認して、[次へ]ボタンをクリックしま す。 6. 次の[コピー元のテーブルおよびビューを選択]画面では、転送元として選択した Access デ ータベース内のテーブルが一覧されます。今回は、次のように「従業員」テーブルと「部門」 テーブルの両方をチェックして、この 2 つのテーブルを転送対象として設定します。 2 1 1

(26)

集]ボタンをクリックします。 これにより、[列マッピング]ダ゗ゕログが表示されて、変換元のテーブルの列名と、変換先 となるテーブルの列名が一覧されます。ここでは、列の名前やデータ型、サ゗ズなどを変更す ることもできますが、今回は何も変更せずに内容を確認するだけで、[OK]ボタンをクリック します。 8. 前の手順と同じように、「部門」テーブルを選択(ハ゗ラ゗ト)した状態で[マッピングの編 集]ボタンをクリックすれば、部門テーブルに関する情報も確認することができます。 内容を確認したら、何も変更せずに、[OK]ボタンをクリックします。 9. [コピー元のテーブルおよびビューを選択]画面へ戻ったら、[次へ]ボタンをクリックしま す。 2 3 転送元 の列名 転送先 の列名 データ型 サ゗ズ 従業員テーブルを選択した状態で [マッピングの編集] をクリック 1 1 3 2

(27)

10. 次の[パッケージの保存および実行]では、このデータ転送をすぐに実行するか、後から実行 するために保存するかを選択します。今回はすぐに実行するので[すぐに実行する]が選択さ れていることを確認して、[次へ]ボタンをクリックします。 11. 最後の[ウゖザードの完了]画面で[完了]ボタンをクリックするとデータの゗ンポートが開 始されます。 1 2 1 選択されていることを 確認

(28)

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

取り込んだデータの確認

12. ウゖザードで゗ンポートしたデータを確認するには、次のように Management Studio で [SSISdb1]データベースの[テーブル]フォルダを右クリックして、[最新の情報に更新] をクリックします。 テーブルの一覧に「従業員」と「部門」という 2 つのテーブルが作成されていることを確認 できます。 続いて、[従業員]テーブルを右クリックして[上位 1000 行の選択]をクリックします。 1 3 2 1 2 3

(29)

これにより、従業員テーブルのデータが表示されます。表示されたデータが、Access データ ベース内のデータ(以下)と同じであることを確認します。 部門テーブルについても、同様に[上位 1000 行の選択]をクリックして、データを表示し て確認します。 1 2 3 Employee.mdb データベースのデータ

(30)

Note: Access 側で設定された主キーやリレーション シップは転送されない

Integration Services では、Access データベース側で設定された主キーやリレーション シップなどの制約は転 送されません。次のように、Management Studio で取り込んだテーブルを展開し、[列]フォルダを展開して、 列の一覧を表示し、[キー]フォルダや[制約]フォルダを参照すると、これらの設定が転送されていないことを 確認することができます。 したがって、主キーやリレーション シップなどは、データの転送後に手動で設定しなければなりません。 1 2 3 部門テーブルのデータの確認 従業員テーブルの列の一覧。 主キーと外部キーには鍵のゕ ゗コンが付くが、設定されて いない 部門テーブルについ ても同様 主キーと外部キーが一覧され る場所。ここに存在しないこ とからも主キーと外部キーが 設定されていないことを確認 できる 制約が一覧される 場所(ココも空)

(31)

2.4 Excel データ(.xls フゔ゗ル)の取り込み

取り込む Excel データ

次に、Excel 2003 のデータ(.xls フゔ゗ル)を取り込んでみましょう。取り込むフゔ゗ルは、サ ンプル スクリプト内の「Shohin.xls」という名前のフゔ゗ルです。

実行手順

Excel データを゗ンポートする手順は、Access データベースを゗ンポートする手順とほとんど同 じです。違うのは、[データソースの選択](データソースの選択)画面だけです。

1. まずは、次のように Management Studio で取り込み先のデータベース(SSISdb1)を右

クリックして[タスク]メニューの[データの゗ンポート]をクリックします。

2. すると、゗ンポート/エクスポート ウゖザードが起動するので、[次へ]ボタンをクリックし

2

3 1

(32)

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

(33)

このプロバ゗ダは、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

(34)

6. 次の[コピー元のテーブルおよびビューを選択]画面では、転送元となるデータの一覧が表示 されます。 変換元が Excel の場合には、Excel フゔ゗ル内のワークシートの名前に「$」マークをつけ たものが一覧されます。今回のフゔ゗ルはワークシート名を変更していないので、既定の 3 つ のワークシート名(Sheet1、Sheet2、Sheet3)に「$」マークを付けたものが一覧されてい ます。今回取り込むデータは Sheet1 へ入れてあるので、「Sheet1$」をチェックします。 これにより、転送先のテーブル名(変換先)が [dbo].[Sheet1$] と表示されます。 これは、「SSISdb1」というデータベースの中に「Sheet1$」という名前のテーブルを作成 2 1 作成されるテーブル名 が表示される 転送元データのシート名 をチェック 2 1

(35)

するという意味です。これを、次のように「商品」など分かりやすい名前へと変更します。

続いて、[マッピングの編集]ボタンをクリックして、[列マッピング]ダ゗ゕログを表示し、 作成されるテーブルのデザ゗ンを確認します。

転送元(変換元)の列名には、Excel シートの 1 行目のデータが設定され、それをもとに転 送先(変換先)に作成されるテーブルの列名が設定されていることを確認できます。 データ型は、既定では、Excel 内の数値データは float 型、文字データは nvarchar(255) 型 として作成されます。列の名前やデータ型、サ゗ズなどは、変更することもできますが、今回 は何も変更せずに内容を確認するだけで、[OK]ボタンをクリックします。 1 「Sheet1$」の部分を 「商品」へ変更 2 3 作成されるテーブルの列名や データ型、サ゗ズなどを確認 転送元の列。 Excel シートの 1 行目 のデータが設定される 1 2

(36)

7. [コピー元のテーブルおよびビューを選択]画面へ戻ったら、[プレビュー]ボタンをクリッ クします。 すると、[データのプレビュー]ダ゗ゕログが開いて、転送元となる Excel データの内容を確 認することができます。確認後、[OK]ボタンをクリックします。 8. [コピー元のテーブルおよびビューを選択]画面へ戻ったら、[次へ]ボタンをクリックしま す。 9. 次の[パッケージの保存および実行]では、次のように[すぐに実行する]と[SSIS パッケ ージを保存する]の両方をチェックして、データ転送をすぐに実行して、かつ後からも実行で きるように “SSIS パッケージ” として保存しておくようにします。 2 3 1 1

(37)

パッケージの保存先として[フゔ゗ル システム]を選択して、[次へ]ボタンをクリックしま す。 10. 次の[SSIS パッケージの保存]画面では、保存するパッケージの名前と保存場所を指定しま す。今回は、次のように[名前](パッケージ名)へ「商品 Package」と入力し、[フゔ゗ル 名]のパスを「C:\商品 Package.dtsx」へ変更し、C:\ ドラ゗ブの直下へ保存されるよう にします。変更後、[次へ]ボタンをクリックして、次へ進みます。 11. 最後の[ウゖザードの完了]画面で[完了]ボタンをクリックするとデータの゗ンポートが開 1 3 2 ココをチェックして、データ転送を後からも実行 できるように、SSIS パッケージとして保存する。 保存先には、「フゔ゗ル システム」をチェック 1 2 3

(38)

実行完了後、[状態]がすべて「成功」と表示されていることを確認して、[閉じる]ボタンを クリックします。

取り込んだデータの確認

12. ウゖザードで゗ンポートしたデータを確認するには、次のように Management Studio で [SSISdb1]データベースの[テーブル]フォルダを右クリックして、[最新の情報に更新] をクリックします。 テーブルの一覧に「商品」という名前のテーブルが作成されていることを確認します。 続いて、[商品]テーブルを右クリックして[上位 1000 行の選択]をクリックします。 1 3 2 1 2 3

(39)

これにより、商品テーブルのデータが表示されます。表示されるデータが、Excel フゔ゗ル内 のデータ(以下)と同じであることを確認します。 1 2 3 Shohin.xls フゔ゗ルのデータ

(40)

2.5 保存したパッケージ(.dtsx)の実行と編集

ここでは、前の STEP で保存したパッケージ「商品Package.dtsx」を利用して、データの転送を再実行す る手順を説明します。

保存したパッケージの実行

1. 保存したパッケージを実行するには、エクスプローラから、パッケージ フゔ゗ル「C:\商品 package.dtsx」をダブル クリックします。 2. すると、次のように[パッケージ実行ユーテゖリテゖ]ダ゗ゕログが表示されます。 このダ゗ゕログで、[実行]ボタンをクリックすれば、パッケージを実行することができます。 ダブル クリック 1 1

(41)

[実行]ボタンをクリックしてパッケージが実行されると、次のように[パッケージ実行の進 行状況]ダ゗ゕログが表示されますが、エラーが発生して、データ転送が失敗してしまいます。

「エラー」の行の記述をみると、「CREATE TABLE [SSISdb1].[dbo].[商品]~」とあり、「商 品」テーブルを作成していることが原因でエラーとなっていることを確認できます。 前の STEP で、ウゖザードからデータ転送を実行したときは、「商品」テーブルを作成するこ とができましたが、2 回目以降のパッケージの実行時には、「商品」テーブルが既に存在して しまっているので、エラーが発生してしまうのです。 確認後、[閉じる]ボタンをクリックして、ダ゗ゕログを閉じます。 3. [パッケージ実行ユーテゖリテゖ]ダ゗ゕログへ戻ったら、[閉じる]ボタンをクリックして 閉じます。 4. 次に、データ転送が失敗していることを Management Studio から念のため確認しておきま しょう。[SSISdb1]データベースの[商品]テーブルを右クリックして[上位 1000 行の 選択]をクリックします。 CREATE TABLE のエラー 3 1 タスクの失敗を表す 2 1

(42)

データが新しく追加されていないことから、データ転送が失敗していることを確認できます。

保存したパッケージの編集(Business Intelligence Development Studio)

次に、このパッケージのエラーを解消して、正しくデータ転送が行えるように、パッケージの編集 を行ってみましょう。パッケージの編集には「Business Intelligence Development Studio」 を利用します。

5. Business Intelligence Development Studio を起動するには、次のように[スタート]メニ

ューの[すべてのプログラム]から[Microsoft SQL Server 2008]を選択し、[SQL Server Business Intelligence Development Studio]をクリックします。

6. Business Intelligence Development Studio は、Visual Studio 2008 と統合されているの

で、次のように Visual Studio 2008 が起動します。

1

2

(43)

次に、[フゔ゗ル]メニューから[新規作成]を選択して[プロジェクト]をクリックし、新 しいプロジェクトを作成します。 7. すると、[新しいプロジェクト]ダ゗ゕログが表示されるので、次のように[プロジェクトの 種類]で「ビジネス ゗ンテリジェンス プロジェクト」を、[テンプレート]で「Integration Services プロジェクト」を選択します。 [プロジェクト名]へは「SSISstep2」と入力して、[場所]を「C:\」へ変更し、[OK]ボ タンをクリックします。これにより、SSISstep2 プロジェクトが作成されます。 8. 作成されたプロジェクトには、空のパッケージ(Package.dtsx)が自動作成されているので、 「フゔ゗ル」メニューの「新規作成」 から「プロジェクト」をクリック 1 1 2 3 4

(44)

[SSIS パッケージ]フォルダの配下にある「Package.dtsx」を右クリックして、[削除] をクリックします。 すると、次のように削除を確認するダ゗ゕログが表示されるので、[OK]ボタンをクリックし ます。 9. 次に、前の STEP で作成したパッケージ「商品 Package.dtsx」をプロジェクトへ追加しま す。次のように ソリューション エクスプローラ で[SSIS パッケージ]フォルダを右クリ ックして、[既存のパッケージを追加]をクリックします。 10. すると、[既存のパッケージのコピーを追加]ダ゗ゕログが表示されるので、次のように[パ ッケージの場所]で「フゔ゗ル システム」を選択し、[パッケージのパス]で[...]ボタンを 1 2 1 1 2

(45)

クリックします。 すると、[パッケージの読み込み]ダ゗ゕログが表示されるので、「C:\商品 Package.dtsx」 フゔ゗ルを選択し、[開く]ボタンをクリックします。[既存のパッケージのコピーを追加]ダ ゗ゕログへ戻ったら、[OK]ボタンをクリックして閉じます。 11. 次に、追加したパッケージ「商品Package.dtsx」をダブル クリックします。 1 5 2 3 4 追加した「商品Package.dtsx」 をダブル クリック パッケージのデザ゗ン画面 SSIS デザ゗ナ 1 2

(46)

きるようになります。 12. このデザ゗ン画面からは、パッケージを実行することもできるので、次のように[デバッグ] メニューから[デバッグ開始]をクリックして、パッケージを実行してみます。 パッケージが実行されると、次のように[準備 SQL タスク 1]タスクが赤くなってエラー となり、実行が中断されます(デバッグ モードになります)。 [デバッグ]メニューから[デバッグの停止]をクリックして、デバッグを終了します。 13. 次に、エラーとなったタスクの内容を確認するために、デザ゗ン画面で[準備 SQL タスク 1] をダブル クリックします。 1 エラーとなり、赤く表示 される 1 1 2

(47)

これにより、[SQL 実行タスク エデゖタ]ダ゗ゕログが表示されるので、[SQLStatement] プロパテゖをクリックし、値(CREATE TABLE ~)へマウスを乗せて、ポップゕップを表 示すると、SQL ステートメントの内容を確認することができます。表示される SQL ステー トメントは、「CREATE TABLE [SSISdb1].[dbo].[商品]…」となっていて、商品テーブルを 作成するステートメントであることを確認できます。確認後、[OK]ボタンをクリックして、 ダ゗ゕログを閉じます。

タスクの無効化

14. この[準備 SQL タスク 1]のエラーを回避するには、このタスクを無効化に設定すればよい ので、次のように[準備 SQL タスク 1]を右クリックして[無効化]をクリックします。 これにより、[準備 SQL タスク 1]が灰色に変わり、このタスクが実行されないようになり ます。 15. 次に、[デバッグ]メニューから[デバッグ開始]をクリックして、パッケージを実行(デバ ッグを開始)します。 SQLStatement プロパテゖの値へ マウスを乗せると、ポップゕップが 表示されて、SQLステートメントの 内容を確認できる 準備 SQL タスク 1 を ダブルクリック 1 2 3 1 灰色にかわる 2

(48)

すると、無効化した[準備 SQL タスク 1]は実行されずに、[データ フロー タスク 1](デ ータ転送のためのタスク)が ”緑色” に変わって、実行が成功したことを確認できます。 16. [デバッグ]メニューから[デバッグの停止]をクリックしてデバッグを終了します。 17. 次に、もう一度、[デバッグ]メニューから[デバッグ開始]をクリックして、パッケージを 再度実行し、エラーにならないことを確認しておきます。 [デバッグ]メニューから[デバッグの停止]をクリックしてデバッグを終了します。 1 緑色に変わると 成功 2 1 2 1 緑色に変わると 成功 2 1 2

(49)

取り込んだデータの確認

18. 次に、パッケージの実行で取り込んだデータを確認しておきましょう。 Management Studio から、次のように SSISdb1 データベース内の「商品」テーブルを右クリックして[上位 1000 行の選択]をクリックします。 パッケージを実行した回数分だけ、データが追加されていることを確認できます。 このように、CREATE TABLE ステートメントが実行されないように変更すれば、データ転送 を何度も実行できるようになります。ただし、このままでは、パッケージが実行されるたびに データが上書きされずにどんどん追加されていってしまいます。

データを削除してからデータ転送を行う(上書きする)

パッケージを実行するたびにデータが追加されていくのを防ぎ、新しいデータで上書きされるよう にするには、次のようにパッケージを編集します 19. まずは、無効化していた[準備 SQL タスク 1]を有効に戻します。[準備 SQL タスク 1] を右クリックして[有効化]をクリックします。 1 ウゖザードで実行した 結果(1回目の転送) パッケージを実行した 結果(2回目の転送) パッケージを実行した 結果(3回目の転送) 2 3 4 1

(50)

20. 次に、[準備 SQL タスク 1]の SQL ステートメントを変更します。[準備 SQL タスク 1] をダブル クリックして[SQL 実行タスク エデゖタ]ダ゗ゕログを表示し、[SQLStatement] プロパテゖの「...」ボタンをクリックします。 すると、[SQL クエリの入力]ダ゗ゕログが表示されるので、SQL ステートメントを次のよ うに変更します。 TRUNCATE TABLE 商品 go TRUNCATE TABLE ステートメントは、指定したテーブルのデータをすべて削除する効果が あるので、この記述によって、商品テーブルのデータをすべて削除できるようになります。 ステートメントの記述後、[OK]ボタンをクリックしてダ゗ゕログを閉じます。 21. 次に、[デバッグ]メニューから[デバッグ開始]をクリックして、パッケージを実行し、結 果を確認します。 「SQLStatement」 プロパテゖの「...」 ボタンをクリック 準備 SQL タスク 1 を ダブルクリック 1 2

2 商品テーブルのデータ を全削除するためのス テートメントを記述 1

(51)

今度は、2 つのタスクが緑色に変わって、パッケージの実行が成功したことを確認できます。 22. [デバッグ]メニューから[デバッグの停止]をクリックして、デバッグを終了します。

データが上書きされていることの確認

23. パッケージで取り込んだデータを確認するために、Management Studio から「商品」テー ブルを右クリックして[上位 1000 行の選択]をクリックします。 テーブルのデータは、すべて削除されてから、データ転送が行われているので、データが上書 きされていることを確認できます。 1 2 1 2 1 3 2

(52)

単純なデータ転送だけでなく、任意の SQL ステートメントを実行できるようになります。ま た、SSIS デザ゗ナでは、”データの変換” を追加することもできるので、これについては STEP 3 で説明します。

パッケージの保存

次に、編集したパッケージを保存しておきます。 24. パッケージとプロジェクト全体を保存するには、次のように[フゔ゗ル]メニューから[すべ てを保存]をクリックします。

パッケージ実行ユーテゖリテゖからの実行

次に、Business Intelligence Development Studio で編集したパッケージをエクスプローらから 実行してみます。

25. Business Intelligence Development Studio で作成・編集したパッケージは、次のようにプ

ロジェクト(C:\SSISstep2\SSISstep2)フォルダの下の「bin」フォルダへ格納されてい ます。 1 2 ダブル クリック 1 2

(53)

このフォルダのパッケージ フゔ゗ル(商品Package.dtsx)をダブル クリックして、パッケ ージを実行してみましょう。 26. [パッケージ実行ユーテゖリテゖ]ダ゗ゕログが表示されたら、[実行]ボタンをクリックし てパッケージを実行します。 今度は、エラーが発生せずに、実行が正常に完了したことを確認できます。 完了後は、[閉じる]ボタンをクリックして、ダ゗ゕログを閉じます。 27. 次に、パッケージで取り込んだデータを確認するために、Management Studio から「商品」 テーブルを右クリックして[上位 1000 行の選択]をクリックします。 データが上書きされて、正しくパッケージが実行されたことを確認できます。 1 2 1 3 2

(54)

2.6 データのエクスポート

ここでは、STEP 2.3 で Access データベースから取り込んだ「従業員」テーブルを、゗ンポート/エクス ポート ウゖザードを利用して、「tsv」形式(タブ区切り)のテキスト フゔ゗ルへエクスポートする(書き 出す)手順を説明します。

エクスポートするデータ

エクスポートする従業員テーブルは、次のとおりです。

実行手順

1. ゗ンポート/エクスポート ウゖザードを利用してデータをエクスポートするには、次のよう

に Management Studio で転送元のデータベース(SSISdb1)を右クリックして、[タスク] メニューの[データのエクスポート]をクリックします。 1 3 2 1 2 3

(55)

2. すると、゗ンポート/エクスポート ウゖザードが起動するので、[次へ]ボタンをクリックし ます。 3. 次の[データソースの選択]画面では、データの転送元(エクスポート元となるデータ)を指 定します。 今回は、事前に「SSISdb1」データベースを選択してウゖザードを起動しているので、[デー タベース]へ「SSISdb1」が選択されていることを確認して、[次へ]ボタンをクリックしま す。 4. 次の[変換先の選択]画面では、データの転送先(エクスポート先)を指定します。 1 3 1 2

(56)

今回は、テキスト フゔ゗ルへデータを書き出すので、[変換先]で「フラット フゔ゗ル変換 先」を選択します。[フゔ゗ル名]へは、エクスポート先となるフゔ゗ル名を入力しますが、 今回は「C:\従業員.tsv」と入力します。また、[先頭データ行を列名として使用する]チェ ック ボックスをチェックして、フゔ゗ルの 1 行目には、列名が書き出されるようにします。 設定後、[次へ]ボタンをクリックします。 5. 次の[テーブルのコピーまたはクエリの指定]画面では、[1 つ以上のテーブルまたはビュー からデータをコピーする]が選択されていることを確認して、[次へ]ボタンをクリックしま す。 1 2 3 4 1 2

(57)

6. 次の[フラット フゔ゗ルの変換先の構成]画面では、転送元となるテーブルを選択します。 今回は、「従業員」テーブルを選択します。 また、[列区切り記号]で「タブ{t}」を選択し、タブ区切りのテキスト フゔ゗ルとしてエク スポートするようにします。続いて、[マッピングの編集]ボタンをクリックして、[列マッピ ング]ダ゗ゕログを表示します。 このダ゗ゕログでは、エクスポートするデータの列名や、データ転送の対象から外したい列の 変更などを行うことができます。今回は、「ローマ字姓」と「ローマ字名」列をデータ転送の 対象から外すように、[変換先]で「無視」を選択して、[OK]ボタンをクリックします。 1 2 3 2 1 「無視」を選択することで、 データ転送の対象から外すこと ができる

(58)

8. 次の[パッケージの保存および実行]では、このデータ転送をすぐに実行するか、後から実行 するために保存するかを選択します。 今回はすぐに実行するので、[すぐに実行する]が選択されていることを確認して、[次へ]ボ タンをクリックします。 9. 最後の[ウゖザードの完了]画面で[完了]ボタンをクリックするとデータのエクスポートが 開始されます。 1 1 2

(59)

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

エクスポートしたデータの確認

10. ウゖザードでエクスポートしたデータを確認するには、エクスプローラから「C:\従業員.tsv」 フゔ゗ルをダブル クリックして開きます。 それぞれの列がタブ区切りで表示され、「ローマ字姓」と「ローマ字名」列のデータはエクス ポートされていないことを確認できます。 1 3 2 従業員.tsv フゔ゗ルを ダブル クリック 1 タブ区切りでエクスポートされていることを確認できる。 また、「ローマ字姓」と「ローマ字名」列は含まれていな いことも確認できる 2

(60)

S

S

T

T

E

E

P

P

3

3

.

.

S

S

S

S

I

I

S

S

この STEP では、Integration Services(SSIS)の「SSIS デザ゗ナ」を使用して、デ ータの変換を伴うデータの転送を行い、SSIS デザ゗ナの基本操作を説明します。 この STEP では、次のことを学習します。  SSIS デザ゗ナの使用方法  データ フロー タスクによるデータの転送  派生列コンポーネントによるデータ変換  参照コンポーネントによる別テーブルのデータ取得  データ ビューゕによる転送中のデータの表示

(61)

3.1 作成するパッケージの概要

データ変換の概要

この STEP では、SSIS デザ゗ナを利用して、次のようなデータ変換を行うパッケージ(Excel 2003 フゔ゗ルから SQL Server へのデータ転送時に変換処理を追加したパッケージ)を作成します。 Excel フゔ゗ルは、サンプル スクリプト内に「Employee.xls」という名前で置いてあります。

作成するパッケージ(.dtsx)

作成するパッケージは、次のような構成になります。

実習を始める前に

この STEP の実習を行うには、STEP 2.3 の手順で、Access データベースから「SSISdb1」デ ータベース内へ゗ンポートして作成した「部門」テーブルが必要になります。STEP 2.3 を実行し 「部門番号」に 対応した 「部門名」へ変換 「姓」と「名」列 を文字列連結して 「氏名」列を追加 「性別コード」の 「1」を「男性」 「2」を「女性」 へ変換 Employee.xls フゔ゗ル SQL Server 2008 データ変換 データ フロー タスク 参照 コンポーネント Excel データ ソース 派生列コンポーネント SQL Server 変換先

(62)

3.2 データベースの作成

転送先となるデータベースの作成

この STEP では、SSIS デザ゗ナを使用して、Excel データを SQL Server 内へ取り込んでいく ので、まずは、取り込み先(転送先)となる空のデータベースを作成します。次のようにManagement Studio で[データベース]フォルダを右クリックして[新しいデータベース]をクリックし、「SSISdb2」 という名前のデータベースを作成します。 「データベース」を右クリック して「新しいデータベース」を クリック 1 データベース名に 「SSISdb2」と入力 2 [OK] ボタン をクリック 3

(63)

3.3 SSIS デザ゗ナの起動

SSIS デザ゗ナの起動

次に、パッケージの作成ツール「SSIS デザ゗ナ」を起動します。

1. SSIS デザ゗ナを起動するには、[スタート]メニューの[すべてのプログラムから、[Microsoft SQL Server 2008]を選択し、[SQL Server Business Intelligence Development Studio] をクリックします。

2. Business Intelligence Development Studio は、Visual Studio 2008 と統合されているの

で、Visual Studio 2008 が起動します。 次に、[フゔ゗ル]メニューから[新規作成]を選択して[プロジェクト]をクリックし、新 しいプロジェクトを作成します。 「フゔ゗ル」メニューの「新規作成」 から「プロジェクト」をクリック 1

(64)

3. [新しいプロジェクト]ダ゗ゕログが表示されたら、[プロジェクトの種類]で「ビジネス ゗ ンテリジェンス プロジェクト」を、[テンプレート]で「Integration Services プロジェ クト」を選択します。 [プロジェクト名](プロジェクト名)へは「SSISstep3」と入力し、[場所]を「C:\」へ 変更して、[OK]ボタンをクリックします。これにより、Integration Services プロジェク トが作成され、次のような画面が表示されます。 1 2 3 4 ツール バー プロパテゖ ウゖンドウ SSIS デザ゗ナ ツール ボックス ソリューション エクスプローラ

(65)

Note: ツールボックスの固定表示

Visual Studio 2008 のデフォルトでは、ツールボックスが隠れています。SSIS デザ゗ナでは、ツールボックス を頻繁に使用するので、ツールボックスを固定して表示しておくと便利です。ツールボックスを固定して表示する には、次のようにツールボックスをクリックしてツールボックスを表示し、[自動的に隠す]ボタンをクリックし ます。 1 2 固定して表示される 3

(66)

3.4 データ フロー タスクによるデータの転送

まずは、データ変換を行わない、単純なデータ転送を行うパッケージを作成してみましょう。データ転送は、 [データ フロー タスク]を利用して行うことができます。

データ フロー タスクの追加

4. データ フロー タスクを追加するには、次のように[ツールボックス]の[制御フロー項目] の中から[データ フロー タスク]を選択し、SSIS デザ゗ナ上へドラッグ ゕンド ドロップ します。 これにより、[データ フロー タスク]が、SSIS デザ゗ナ上に配置されます。 5. 次に、データ転送の詳細(転送元や転送先など)を設定するために、次のように[データ フ ロー タスク]をダブル クリックします。 SSIS デザ゗ナ上へ ドラッグ & ドロップ 1

(67)

これにより、[データ フロー]タブが表示されて、[ツールボックス]がデータ転送に関する コンポーネントの一覧へ変更されます。

転送元データの指定

6. 転送元(Source)データとして Excel フゔ゗ルを指定するには、次のように[ツールボック ス]の[データ フローの変換元]カテゴリの中から、[Excel ソース]を SSIS デザ゗ナ上 へドラッグ ゕンド ドロップします。 「データフロー」タブ が表示される 2 ツールボックスがデータ 転送に関するコンポーネ ントの一覧に変更される 3 ダブル クリック 1

ドラッグ & ドロップ 1 ダブルクリック 2

(68)

7. すると、[Excel ソース エデゖタ]ダ゗ゕログが表示されるので、転送元の Excel フゔ゗ル を指定するために[新規作成]ボタンをクリックします。 これにより、[Excel 接続マネージャ]ダ゗ゕログが表示されるので、次のように[参照]ボ タンをクリックます。 [フゔ゗ルを開く]ダ゗ゕログでは、サンプル スクリプト内の「Employee.xls」フゔ゗ル を選択して、[開く]ボタンをクリックします。 [Excel 接続マネージャ]ダ゗ゕログへ戻ったら、次のように[Excel フゔ゗ル パス]へ [Employee.xls]フゔ゗ルへのパスが表示され、[Excel バージョン]が「Microsoft Excel

1 1 サンプル スクリプト内の Employee.xls を選択 2 3

(69)

97-2003」となっていることを確認します。 また、[先頭行に列名を含める]チェック ボックスがチェックされていることも確認して、[OK] ボタンをクリックします。 8. [Excel ソース エデゖタ]ダ゗ゕログへ戻ったら、次のように[Excel シートの名前]で、 転送元となるデータが格納されている Excel のワーク シートを選択します(ここで表示され るシート名は、実際のワーク シート名に「$」マークをつけたものになります)。 今回のデータは、Sheet1 へ入れているので、「Sheet1$」を選択して、[プレビュー]ボタ ンをクリックします。これにより、[クエリ結果のプレビュー]ダ゗ゕログが表示されて、転 送元のデータを確認することができます。確認後、[閉じる]ボタンをクリックして、ダ゗ゕ ログを閉じます。

転送先データベースの指定

9. 次に、転送先となる SQL Server 上のデータベースを指定するために、次のように[ツール ボックス]の[データ フローの変換先]カテゴリから、[SQL Server 変換先]を SSIS デ ザ゗ナ上へドラッグ ゕンド ドロップします。 1 4 Excel のバージョンを選択 2 Excel の最初の行を列名として扱う 3 1 2 4 3 転送されるデータの 内容を確認 5

参照

関連したドキュメント

・Microsoft® SQL Server® 2019 Client Access License (10 User)ライセンス証書 オープン価格. オープン価格 Microsoft SQL

アンチウイルスソフトウェアが動作している場合、LTO や RDX、HDD 等へのバックアップ性能が大幅に低下することがあります。Windows Server 2016,

継続企業の前提に関する注記に記載されているとおり、会社は、×年4月1日から×年3月 31

大正13年 3月20日 大正 4年 3月20日 大正 4年 5月18日 大正10年10月10日 大正10年12月 7日 大正13年 1月 8日 大正13年 6月27日 大正13年 1月 8日 大正14年 7月17日 大正15年

全体として 11 名減となっています。 ( 2022 年3 月31 日付) 。 2021 年度は,入会・資料請求等の問い合わせは 5 件あり,前

年間約5万人の子ども達が訪れる埋立処分場 見学会を、温暖化問題などについて総合的に

その太陽黒点の数が 2008 年〜 2009 年にかけて観察されな

「2008 年 4 月から 1