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