各製品の資料を入手。
詳細はこちら →CData
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
PostgreSQL には多くの対応クライアントがあります。標準のドライバーからBI、アナリティクスツールまで、PostgreSQL はデータ接続の人気のインターフェースです。JDBC ドライバーを使用することで、簡単に任意の標準クライアントから接続できるPostgreSQL エントリポイントを作成できます。
SmartHR にPostgreSQL データベースとしてアクセスするには、CData JDBC Driver for API とJDBC foreign data wrapper (FDW) を使用します。この記事ではFDW をコンパイルしてインストールし、PostgreSQL サーバーからSmartHR にクエリを実行します。
JDBC データソースとしてSmartHR に接続するには、以下が必要です。
Driver クラス
cdata.jdbc.api.APIDriver
SmartHR に接続するには、SmartHR API トークンとTenantId が必要です。API トークンはSmartHR のアプリケーション統合ページで生成できます。トークンを取得したら、ProfileSettings API Key 接続プロパティに指定してください。TenantId は自身のSmartHR ページのURL「https://1234567890.smarthr.jp/」で確認できます(ここでは「1234567890」)。もしSandbox 環境を使用する場合は、接続プロパティにUseSandbox=true を設定してください。
次に、プロファイルをダウンロードしてドライバーがアクセス可能な場所に配置します。こちらからプロファイルをダウンロードして、「C:/profiles/」 などに設置してください。
JDBC URL の構成については、SmartHR JDBC Driver に組み込まれている接続文字列デザイナを使用できます。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。
java -jar cdata.jdbc.api.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
以下は一般的なJDBC URL です。
jdbc:api:Profile=C:\profiles\SmartHR.apip;UseSandbox=false;ProfileSettings='APIKey=your_api_token;TenantId=1234567890;''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
拡張機能をインストールした後、以下のステップに従ってSmartHR へのクエリの実行を開始します。
CREATE EXTENSION jdbc2_fdw;
CREATE SERVER API
FOREIGN DATA WRAPPER jdbc2_fdw OPTIONS (
drivername 'cdata.jdbc.api.APIDriver',
url 'jdbc:api:Profile=C:\profiles\SmartHR.apip;UseSandbox=false;ProfileSettings='APIKey=your_api_token;TenantId=1234567890;''InitiateOAuth=GETANDREFRESH',
querytimeout '15',
jarfile '/home/MyUser/CData/CData\ JDBC\ Driver\ for\ Salesforce MyDriverEdition/lib/cdata.jdbc.api.jar');
CREATE USER MAPPING for postgres SERVER API OPTIONS (
username 'admin',
password 'test');
postgres=# CREATE FOREIGN TABLE departments (
departments_id text,
departments_Name text,
departments_Position numeric)
SERVER API OPTIONS (
table_name 'departments');
postgres=# SELECT * FROM departments;
このようにCData JDBC Driver for API を使って簡単にSmartHR のデータを取得して検索対象にすることができました。ぜひ、30日の無償評価版 をお試しください。