SSIS で SQL Server から XML へのデータフローを構築
SQL Server データベースは、エンタープライズレコードの保存に広く使用されています。このデータを他の場所に移動する必要がある場合がよくあります。CData SSIS Task for XML を使用すると、XML のデータを簡単に転送できます。この記事では、SQL Server から XML にデータをエクスポートする方法を説明します。
ソースとデスティネーションコンポーネントの追加
まず、新しい ADO.NET Source コントロールと新しい XML Destination コントロールを Data Flow Task に追加します。
ADO.NET ソースの設定
以下の手順に従って、SQL Server インスタンスへの接続に必要なプロパティを指定します。
- ADO.NET Source を開き、新しい接続を追加します。ここでサーバーとデータベースの情報を入力します。
- Data access mode メニューで「Table or view」を選択し、XML にエクスポートするテーブルまたはビューを選択します。
- ADO NET Source ウィザードを閉じ、デスティネーションコンポーネントに接続します。
XML 用の新しい Connection Manager を作成
以下の手順に従って、Connection Manager で必要な接続プロパティを設定します。
- 新しい Connection Manager を作成します:Connection Manager ウィンドウで右クリックし、New Connection をクリックします。Add SSIS Connection Manager ダイアログが表示されます。
- メニューから CData XML Connection Manager を選択します。
-
接続プロパティを設定します。
データソースを認証するには、データプロバイダーのドキュメント内の「はじめに」セクションをご覧ください。 データプロバイダーはXML API を双方向データベーステーブルとしてモデル化し、XML ファイルをread-only ビュー(ローカルファイル、人気のクラウドサービスに格納されたファイル、およびFTP サーバー)としてモデル化します。 HTTP Basic、Digest、NTLM、OAuth、およびFTP を含む主な認証スキームはサポートされています。認証のガイドについては、データプロバイダーのドキュメント内の「はじめに」セクションをご覧ください。
URI と認証値を設定した後で、DataModel を設定することでデータの構造によりよくマッチするようデータの抽象化を調整できます。
DataModel プロパティはデータがどのようにテーブルとして抽象化されるかを制御するプロパティであり、次の基本的な設定を調整します。
- Document(デフォルト):XML データのトップレベルのドキュメントビューをモデル化します。データプロバイダーは入れ子化した要素をデータの集約値として返します。
- FlattenedDocuments:入れ子化したドキュメントとその親を結合して単一のテーブルに入力します。
- Relational:個別の関連テーブルを階層化されたデータから返します。テーブルは主キーと、親ドキュメントにリンクする外部キーを含みます。
リレーショナルな抽象化の設定についての詳細は、「XML データのモデリング」セクションを参照してください。次の例で使用されているサンプルデータも存在します。 このデータには、人名、その人たちが所有する車、車に施されたさまざまなメンテナンスに関する情報が含まれます。
XML デスティネーションの設定
デスティネーションコンポーネントの Connection Manager で、SQL Server ソーステーブルから XML デスティネーションテーブルへのマッピングと、XML のデータに対して実行するアクションを定義します。この記事では、people エンティティを XML に挿入します。
- XML Destination をダブルクリックして、デスティネーションコンポーネントエディタを開きます。
- Connection Managers タブで、先ほど作成した Connection Manager を選択します。
-
Use a Table メニューで people を選択します。
Action メニューで Insert を選択します。
-
Column Mappings タブで、入力カラムからデスティネーションカラムへのマッピングを設定します。
プロジェクトの実行
これでプロジェクトを実行できます。 SSIS Task の実行が完了すると、SQL テーブルのデータが選択したテーブルにエクスポートされます。