各製品の資料を入手。
詳細はこちら →SnapLogic でXML を外部サービスに連携
CData JDBC Driver を使用して、SnapLogic と外部サービスを連携。
最終更新日:2021-11-05
この記事で実現できるXML 連携のシナリオ
こんにちは!ドライバー周りのヘルプドキュメントを担当している古川です。
SnapLogic はintegration Platform-as-a-Service(iPaaS)であり、ユーザーはノーコードでデータ連携フローを作成できます。CData JDBC ドライバと組み合わせることで、ユーザーはSnapLogic ワークフローからXML を含む250を超えるSaaS、ビッグデータ、NoSQL データソースのリアルタイムデータに接続できます。
組み込みの最適化されたデータ処理によって、CData JDBC Driver はリアルタイムXML のデータを高速に扱えます。プラットフォームがXML に複雑なSQL クエリを発行すると、ドライバーはフィルタや集計などのサポートされているSQL 操作をXML に直接プッシュし、サポートされていない操作(主にSQL 関数とJOIN 操作)は組み込みSQL エンジンを利用してクライアント側で処理します。組み込みの動的メタデータクエリを使用すると、ネイティブデータソース型を使用してXML のデータを操作することができます。
SnapLogic からXML に接続する
SnapLogic からXML のデータに接続するには、CData XML JDBC Driver をダウンロードしてインストールします。インストール画面に従ってください。インストールが完了すると、インストール先のディレクトリ(デフォルトでは、C:/Program Files/CData/CData JDBC Driver for XML/lib)にJAR ファイルが作成されます。
XML JDBC Driver をアップロードする
インストール後、JDBC JAR ファイルをSnapLogic 内のディレクトリ(例えば、projects/Jerod Johnson)にManager タブからアップロードします。

接続を設定する
JDBC Driver がアップロードされると、XML への接続を作成できます。
- Designer タブに移動します。
- Snaps から「JDBC」を展開して、「Generic JDBC - Select」snap をdesigner にドラッグします。
- Add Account をクリック(または既存のものを選択)して、「Continue」をクリックします。
- 次のフォームでは、JDBC 接続プロパティを設定します。
- JDBC JARs 以下にアップロードしたJAR ファイルを追加します。
- JDBC Driver Class をcdata.jdbc.xml.XMLDriver に設定します。
JDBC URL をXML JDBC Driver 用のJDBC 接続文字列に設定します。例えば、
jdbc:xml:URI=C:/people.xml;DataModel=Relational;RTK=XXXXXX;
です。NOTE: RTK は評価版もしくは製品版のキーです。詳しくは、CData のサポートチームにご連絡ください。
組み込みの接続文字列デザイナー
JDBC URL の作成の補助として、XML JDBC Driver に組み込まれている接続文字列デザイナーが使用できます。JAR ファイルをダブルクリックするか、コマンドラインからjar ファイルを実行します。
java -jar cdata.jdbc.xml.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
データソースを認証するには、データプロバイダーのドキュメント内の「はじめに」セクションをご覧ください。 データプロバイダーはXML API を双方向データベーステーブルとしてモデル化し、XML ファイルをread-only ビュー(ローカルファイル、人気のクラウドサービスに格納されたファイル、およびFTP サーバー)としてモデル化します。 HTTP Basic、Digest、NTLM、OAuth、およびFTP を含む主な認証スキームはサポートされています。認証のガイドについては、データプロバイダーのドキュメント内の「はじめに」セクションをご覧ください。
URI と認証値を設定した後で、DataModel を設定することでデータの構造によりよくマッチするようデータの抽象化を調整できます。
DataModel プロパティはデータがどのようにテーブルとして抽象化されるかを制御するプロパティであり、次の基本的な設定を調整します。
- Document(デフォルト):XML データのトップレベルのドキュメントビューをモデル化します。データプロバイダーは入れ子化した要素をデータの集約値として返します。
- FlattenedDocuments:入れ子化したドキュメントとその親を結合して単一のテーブルに入力します。
- Relational:個別の関連テーブルを階層化されたデータから返します。テーブルは主キーと、親ドキュメントにリンクする外部キーを含みます。
リレーショナルな抽象化の設定についての詳細は、「XML データのモデリング」セクションを参照してください。次の例で使用されているサンプルデータも存在します。 このデータには、人名、その人たちが所有する車、車に施されたさまざまなメンテナンスに関する情報が含まれます。
- 接続プロパティの入力後、「Validate」、そして「Apply」をクリックします。
XML のデータを読み込む
接続を検証、適用後に開くフォームで、クエリを設定します。
- Schema name を"XML" に設定します。
- Table name を、スキーマ名を使用したXML 用のテーブルに設定します。例えば、"XML"."people" です(ドロップダウンを使用して利用可能なテーブルの全リストを確認できます)。
- テーブルから、使用したい項目ごとにOutput fields を追加します。

Generic JDBC - Select snap を保存します。
接続とクエリを設定したら、snap の終端部分(以下のハイライト部分)をクリックしてデータをプレビューします。

結果が期待どおりのものであることを確認したら、他のsnap を追加してXML のデータを別のエンドポイントに渡すこともできます。

XML のデータを外部サービスにパイプ
本記事では、データをGoogle Spreadsheet にロードします。他のあらゆるサポートされているsnap が使用でき、Generic JDBC snap を他のCData JDBC ドライバと利用してデータを外部サービスに移すこともできます。
- まず、「Worksheet Writer」snap を"Generic JDBC - Select" snap の終端部分にドロップします。
- Google Sheets に接続するアカウントを追加します。
- Worksheet Writer snap を、XML のデータをGoogle Spreadsheet に書き込むよう設定します。
これで、接続済みのパイプラインを実行してXML からデータを抽出し、Google Spreadsheet にプッシュできます。

外部データをXML にパイプ
上述のように、JDBC Driver for XML をSnapLogic から使用してデータをXML に書き込むことができます。まずは、Generic JDBC - Insert またはGeneric JDBC - Update snap をダッシュボードに追加します。
- 既存の「Account」(接続)を選択するか、新しく作成します。
- クエリの設定。
- Schema name を"XML" に設定します。
- Table name をスキーマ名を使用したXML のテーブルに設定します。例えば、"XML"."people"(ドロップダウンを使用して利用可能な全テーブルの一覧を確認できます)。
- Generic JDBC - Insert/Update snap を保存します。
これで、XML にデータを書き込んだり、新しいレコードを挿入したり、既存のレコードを更新するsnap が設定できました。
詳細情報と無償評価版
CData JDBC Driver for XML を使えば、XML のデータを外部サービスに連携するためのパイプラインをSnapLogic で作成できます。XML への接続に関する詳細については、CData のXML 連携ページを参照してください。30日の無償評価版をダウンロードして今すぐ使い始めましょう。