本記事では CData サポート担当からこんなことを聞かれたらどこを確認すべきか?という観点で、よく頂くお問合せ内容をご紹介します。
記事はこちら →インターネット上には、多くのPostgreSQL クライアントがあります。標準のドライバーからBI、アナリティクスツールまで、PostgreSQL はデータアクセスのための一般的なインターフェースです。 JDBC ドライバーを使用することで、簡単に任意の標準クライアントから接続できるPostgreSQL エントリポイントを作成できます。
Facebook Ads にPostgreSQL データベースとしてアクセスするには、CData JDBC Driver for FacebookAds とJDBC foreign data wrapper (FDW) を使用します。ここでは、FDW をコンパイルしてインストールし、PostgreSQL サーバーからFacebook Ads にクエリを実行します。
JDBC データソースとしてFacebook Ads に接続するには、以下が必要です。
Driver class:
cdata.jdbc.facebookads.FacebookAdsDriver
Most tables require user authentication as well as application authentication. Facebook uses the OAuth authentication standard. To authenticate to Facebook, you can use the embedded OAuthClientId, OAuthClientSecret, and CallbackURL or you can obtain your own by registering an app with Facebook.
See the Getting Started chapter of the help documentation for a guide to using OAuth.
JDBC URL の構成については、Facebook Ads JDBC Driver に組み込まれている接続文字列デザイナを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。
java -jar cdata.jdbc.facebookads.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
以下は一般的なJDBC URL です。
jdbc:facebookads:InitiateOAuth=GETANDREFRESH
FDW は、PostgreSQL を再コンパイルせずに、PostgreSQL の拡張機能としてインストールできます。例としてjdbc2_fdw 拡張子を使用します。
ln -s /usr/lib/jvm/java-6-openjdk/jre/lib/amd64/server/libjvm.so /usr/lib/libjvm.so
make install USE_PGXS=1
拡張機能をインストールした後、以下のステップに従ってFacebook Ads へのクエリの実行を開始します。
CREATE EXTENSION jdbc2_fdw;
CREATE SERVER FacebookAds
FOREIGN DATA WRAPPER jdbc2_fdw OPTIONS (
drivername 'cdata.jdbc.facebookads.FacebookAdsDriver',
url 'jdbc:facebookads:InitiateOAuth=GETANDREFRESH',
querytimeout '15',
jarfile '/home/MyUser/CData/CData\ JDBC\ Driver\ for\ Salesforce MyDriverEdition/lib/cdata.jdbc.facebookads.jar');
CREATE USER MAPPING for postgres SERVER FacebookAds OPTIONS (
username 'admin',
password 'test');
postgres=# CREATE FOREIGN TABLE adaccounts (
adaccounts_id text,
adaccounts_AccountId text,
adaccounts_Name numeric)
SERVER FacebookAds OPTIONS (
table_name 'adaccounts');
postgres=# SELECT * FROM adaccounts;