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

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

「エラー」の行の記述をみると、「CREATE TABLE [SSISdb1].[dbo].[商品]~」とあり、「商 品」テーブルを作成していることが原因でエラーとなっていることを確認できます。

前の STEP で、ウゖザードからデータ転送を実行したときは、「商品」テーブルを作成するこ とができましたが、2 回目以降のパッケージの実行時には、「商品」テーブルが既に存在して しまっているので、エラーが発生してしまうのです。

確認後、[閉じる]ボタンをクリックして、ダ゗ゕログを閉じます。

3. [パッケージ実行ユーテゖリテゖ]ダ゗ゕログへ戻ったら、[閉じる]ボタンをクリックして 閉じます。

4. 次に、データ転送が失敗していることを Management Studio から念のため確認しておきま しょう。[SSISdb1]データベースの[商品]テーブルを右クリックして[上位 1000 行の 選択]をクリックします。

CREATE TABLE のエラー

3 1

タスクの失敗を表す 2

1

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

保存したパッケージの編集(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

3

次に、[フゔ゗ル]メニューから[新規作成]を選択して[プロジェクト]をクリックし、新 しいプロジェクトを作成します。

7. すると、[新しいプロジェクト]ダ゗ゕログが表示されるので、次のように[プロジェクトの 種類]で「ビジネス ゗ンテリジェンス プロジェクト」を、[テンプレート]で「Integration Services プロジェクト」を選択します。

[プロジェクト名]へは「SSISstep2」と入力して、[場所]を「C:\」へ変更し、[OK]ボ タンをクリックします。これにより、SSISstep2 プロジェクトが作成されます。

8. 作成されたプロジェクトには、空のパッケージ(Package.dtsx)が自動作成されているので、

今回は、これを削除します。次のように画面右側の[ソリューション エクスプローラ]で、

「フゔ゗ル」メニューの「新規作成」

から「プロジェクト」をクリック 1

1

2

3

4

[SSIS パッケージ]フォルダの配下にある「Package.dtsx」を右クリックして、[削除]

をクリックします。

すると、次のように削除を確認するダ゗ゕログが表示されるので、[OK]ボタンをクリックし ます。

9. 次に、前の STEP で作成したパッケージ「商品 Package.dtsx」をプロジェクトへ追加しま す。次のように ソリューション エクスプローラ で[SSIS パッケージ]フォルダを右クリ ックして、[既存のパッケージを追加]をクリックします。

10. すると、[既存のパッケージのコピーを追加]ダ゗ゕログが表示されるので、次のように[パ ッケージの場所]で「フゔ゗ル システム」を選択し、[パッケージのパス]で[...]ボタンを

1

2

1

1

2

クリックします。

すると、[パッケージの読み込み]ダ゗ゕログが表示されるので、「C:\商品 Package.dtsx」

フゔ゗ルを選択し、[開く]ボタンをクリックします。[既存のパッケージのコピーを追加]ダ

゗ゕログへ戻ったら、[OK]ボタンをクリックして閉じます。

11. 次に、追加したパッケージ「商品Package.dtsx」をダブル クリックします。

1

5

2

3

4

追加した「商品Package.dtsx」

をダブル クリック

パッケージのデザ゗ン画面 SSIS デザ゗ナ

1

2

きるようになります。

12. このデザ゗ン画面からは、パッケージを実行することもできるので、次のように[デバッグ]

メニューから[デバッグ開始]をクリックして、パッケージを実行してみます。

パッケージが実行されると、次のように[準備 SQL タスク 1]タスクが赤くなってエラー となり、実行が中断されます(デバッグ モードになります)。

[デバッグ]メニューから[デバッグの停止]をクリックして、デバッグを終了します。

13. 次に、エラーとなったタスクの内容を確認するために、デザ゗ン画面で[準備 SQL タスク 1]

をダブル クリックします。

1

エラーとなり、赤く表示 される

1

1

2

これにより、[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 灰色にかわる

すると、無効化した[準備 SQL タスク 1]は実行されずに、[データ フロー タスク 1](デ ータ転送のためのタスク)が ”緑色” に変わって、実行が成功したことを確認できます。

16. [デバッグ]メニューから[デバッグの停止]をクリックしてデバッグを終了します。

17. 次に、もう一度、[デバッグ]メニューから[デバッグ開始]をクリックして、パッケージを 再度実行し、エラーにならないことを確認しておきます。

[デバッグ]メニューから[デバッグの停止]をクリックしてデバッグを終了します。

1

緑色に変わると 成功

2

1

2

1

緑色に変わると 成功

2

1

2

取り込んだデータの確認

18. 次に、パッケージの実行で取り込んだデータを確認しておきましょう。 Management Studio から、次のように SSISdb1 データベース内の「商品」テーブルを右クリックして[上位 1000 行の選択]をクリックします。

パッケージを実行した回数分だけ、データが追加されていることを確認できます。

このように、CREATE TABLE ステートメントが実行されないように変更すれば、データ転送 を何度も実行できるようになります。ただし、このままでは、パッケージが実行されるたびに データが上書きされずにどんどん追加されていってしまいます。

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

パッケージを実行するたびにデータが追加されていくのを防ぎ、新しいデータで上書きされるよう にするには、次のようにパッケージを編集します

19. まずは、無効化していた[準備 SQL タスク 1]を有効に戻します。[準備 SQL タスク 1]

を右クリックして[有効化]をクリックします。

1 ウゖザードで実行した

結果(1回目の転送)

パッケージを実行した 結果(2回目の転送)

パッケージを実行した 結果(3回目の転送)

2

3

4

1

20. 次に、[準備 SQL タスク 1]の SQL ステートメントを変更します。[準備 SQL タスク 1]

をダブル クリックして[SQL 実行タスク エデゖタ]ダ゗ゕログを表示し、[SQLStatement]

プロパテゖの「...」ボタンをクリックします。

すると、[SQL クエリの入力]ダ゗ゕログが表示されるので、SQL ステートメントを次のよ うに変更します。

TRUNCATE TABLE 商品 go

TRUNCATE TABLE ステートメントは、指定したテーブルのデータをすべて削除する効果が あるので、この記述によって、商品テーブルのデータをすべて削除できるようになります。

ステートメントの記述後、[OK]ボタンをクリックしてダ゗ゕログを閉じます。

21. 次に、[デバッグ]メニューから[デバッグ開始]をクリックして、パッケージを実行し、結 果を確認します。

「SQLStatement」

プロパテゖの「...」

ボタンをクリック 準備 SQL タスク 1

ダブルクリック

1

2

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

今度は、2 つのタスクが緑色に変わって、パッケージの実行が成功したことを確認できます。

22. [デバッグ]メニューから[デバッグの停止]をクリックして、デバッグを終了します。

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

23. パッケージで取り込んだデータを確認するために、Management Studio から「商品」テー ブルを右クリックして[上位 1000 行の選択]をクリックします。

テーブルのデータは、すべて削除されてから、データ転送が行われているので、データが上書 きされていることを確認できます。

このように、Business Intelligence Development Studio(SSIS デザ゗ナ)を利用すると、

1

2

1

2

1

3

2

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

パッケージの保存

次に、編集したパッケージを保存しておきます。

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

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

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

25. Business Intelligence Development Studio で作成・編集したパッケージは、次のようにプ ロジェクト(C:\SSISstep2\SSISstep2)フォルダの下の「bin」フォルダへ格納されてい ます。

1

2

ダブル クリック 1

2