本記事では CData サポート担当からこんなことを聞かれたらどこを確認すべきか?という観点で、よく頂くお問合せ内容をご紹介します。
記事はこちら →JDBC 標準を使用して読み取りと書き込みをXero に接続することにより、基準のスキルを活用します。 Oracle Data Integrator (ODI) ののようなETL ツールへのドロップイン統合により、CData JDBC Driver for Xero は、リアルタイムXero をデータウェアハウスやビジネスインテリジェンス、Big Data テクノロジーに接続します。
JDBC 接続により、ODI の他のデータベースと同じようにXero を操作できます。RDBMS と同様に、フラットファイルを操作する代わりに、ドライバーを使用してXero API にリアルタイムで直接接続できます。
この記事では、JDBC ベースのXero データのETL からOracle へのロードまでについてを説明します。Xero エンティティのデータモデルをリバースエンジニアリングした後、マッピングを作成し、データ読み込み戦略を選択します。ドライバーはSQL-92 をサポートしているため、この最後のステップは、組み込みのSQL からSQL Loading Knowledge Module をセンタすることで簡単に実行できます。
ドライバーをインストールするには、インストールフォルダにあるドライバーJAR を.lic ファイルをODI userlib ディレクトリにコピーします。
Unix:
~/.odi/oracledi/userlib
Windows
%APPDATA%\Roaming\odi\oracledi\userlib
ODI を再起動してインストールを完了します。
モデルをリバースエンジニアリングすると、Xero のドライバーのリレーショナルビューに関するメタデータが取得されます。リバースエンジニアリング後、リアルタイムのXero をクエリし、Xero テーブルに基づいてマッピングを作成できます。
接続には、認証用の値に加えてSchema 接続プロパティを設定してください。Xero はプライベートアプリケーション、 パブリックアプリケーション、パートナーアプリケーションに認証を提供します。設定したアプリケーションに応じて、XeroAppAuthentication プロパティを PUBLIC、PRIVATE、またはPARTNER に設定する必要があります。プライベートアプリケーションから接続するには、追加でOAuthAccessToken、OAuthClientId、 OAuthClientSecret、CertificateStoreType、CertificateStore、およびCertificateStorePassword を設定してください。
パブリックまたはパートナーアプリケーションから接続する場合は、埋め込みOAuthClientId、OAuthClientSecret、 およびCallbackURL を指定するか、アプリを登録してOAuth の値を入手できます。
Xero への認証については、ヘルプドキュメントの「はじめに」を参照してください。
JDBC URL の構成については、Xero JDBC Driver に組み込まれている接続文字列デザイナを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。
java -jar cdata.jdbc.xero.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
以下は一般的な接続文字列です。
jdbc:xero:InitiateOAuth=GETANDREFRESH
リバースエンジニアリング後、ODI でXero を操作できるようになります。
Xero を編集し保存するには、Designer ナビゲーターでモデルアコーディオンを展開し、テーブルを右クリックして[Ⅾata]をクリックします。[Refresh]をクリックしてデータへの変更を取得します。変更が完了したら[Save Changes]をクリックします。
以下のステップに従って、Xero からETL を作成します。Items エンティティをODI Getting Started VM に含まれているサンプルデータウェアハウスにロードします。
SQL Developer を開き、Oracle データベースに接続します。[Connections]ペインでデータベースのノードを右クリックし、[New SQL Worksheet]をクリックします。
もしくは、SQLPlus を使用することもできます。コマンドプロンプトから、以下のように入力します。
sqlplus / as sysdba
CREATE TABLE ODI_DEMO.TRG_ITEMS (QUANTITYONHAND NUMBER(20,0),Name VARCHAR2(255));
これで、マッピングを実行してXero をOracle にロードできます。