ノーコードでクラウド上のデータとの連携を実現。
詳細はこちら →30日間の無償トライアル
無償トライアルはこちら製品の詳細
驚くほど簡単にJDBC でJava アプリケーションにDropbox のFiles、Folders、Users などのデータを連携!
CData
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
インターネット上には、多くのPostgreSQL クライアントがあります。標準のドライバーからBI、アナリティクスツールまで、PostgreSQL はデータアクセスのための一般的なインターフェースです。 JDBC ドライバーを使用することで、簡単に任意の標準クライアントから接続できるPostgreSQL エントリポイントを作成できます。
Dropbox にPostgreSQL データベースとしてアクセスするには、CData JDBC Driver for Dropbox とJDBC foreign data wrapper (FDW) を使用します。ここでは、FDW をコンパイルしてインストールし、PostgreSQL サーバーからDropbox にクエリを実行します。
JDBC データソースとしてDropbox に接続するには、以下が必要です。
Driver class:
cdata.jdbc.dropbox.DropboxDriver
OAuth では認証するユーザーにブラウザでDropbox との通信を要求します。CData 製品は、以下のようにさまざまな方法でこれを容易にします。 ユーザー資格情報の接続プロパティを設定せずに接続できます。 接続すると、CData 製品はデフォルトブラウザでOAuth エンドポイントを開きます。ログインして、CData 製品にアクセス許可を与えます。CData 製品がOAuth プロセスを完了します。
他のOAuth 認証フローについては、ヘルプドキュメントの「OAuth 認証の使用」を参照してください。
なお、Dropbox Driver はDropbox のファイルの一覧表示やユーザー管理情報の取得用です。Dropbox に保管されているExcel、CSV、JSON などのファイル内のデータを読み込みたい場合には、Excel Driver、CSV Driver、JSON Driver をご利用ください。
JDBC URL の構成については、Dropbox JDBC Driver に組み込まれている接続文字列デザイナを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。
java -jar cdata.jdbc.dropbox.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
以下は一般的なJDBC URL です。
jdbc:dropbox: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
拡張機能をインストールした後、以下のステップに従ってDropbox へのクエリの実行を開始します。
CREATE EXTENSION jdbc2_fdw;
CREATE SERVER Dropbox
FOREIGN DATA WRAPPER jdbc2_fdw OPTIONS (
drivername 'cdata.jdbc.dropbox.DropboxDriver',
url 'jdbc:dropbox:InitiateOAuth=GETANDREFRESH',
querytimeout '15',
jarfile '/home/MyUser/CData/CData\ JDBC\ Driver\ for\ Salesforce MyDriverEdition/lib/cdata.jdbc.dropbox.jar');
CREATE USER MAPPING for postgres SERVER Dropbox OPTIONS (
username 'admin',
password 'test');
postgres=# CREATE FOREIGN TABLE files (
files_id text,
files_Id text,
files_Name numeric)
SERVER Dropbox OPTIONS (
table_name 'files');
postgres=# SELECT * FROM files;