ノーコードでクラウド上のデータとの連携を実現。
詳細はこちら →CData
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
PostgreSQL には多くの対応クライアントがあります。標準のドライバーからBI、アナリティクスツールまで、PostgreSQL はデータ接続の人気のインターフェースです。JDBC ドライバーを使用することで、簡単に任意の標準クライアントから接続できるPostgreSQL エントリポイントを作成できます。
Sage 300 にPostgreSQL データベースとしてアクセスするには、CData JDBC Driver for Sage300 とJDBC foreign data wrapper (FDW) を使用します。この記事ではFDW をコンパイルしてインストールし、PostgreSQL サーバーからSage 300 にクエリを実行します。
JDBC データソースとしてSage 300 に接続するには、以下が必要です。
Driver クラス
cdata.jdbc.sage300.Sage300Driver
Sage 300 には、Sage 300 Web API で通信するための初期設定が必要となるます。
Basic 認証を使用してSage 300 へ認証します。
Sage 300 に認証するには、次のプロパティを入力してください。プロバイダーは、クッキーを使用してSage 300 が開いたセッションを再利用することに注意してください。 そのため、資格情報はセッションを開く最初のリクエストでのみ使用されます。その後は、Sage 300 が返すクッキーを認証に使用します。
JDBC URL の構成については、Sage 300 JDBC Driver に組み込まれている接続文字列デザイナを使用できます。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。
java -jar cdata.jdbc.sage300.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
以下は一般的なJDBC URL です。
jdbc:sage300:User=SAMPLE;Password=password;URL=http://127.0.0.1/Sage300WebApi/v1/-/;Company=SAMINC;
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
拡張機能をインストールした後、以下のステップに従ってSage 300 へのクエリの実行を開始します。
CREATE EXTENSION jdbc2_fdw;
CREATE SERVER Sage300
FOREIGN DATA WRAPPER jdbc2_fdw OPTIONS (
drivername 'cdata.jdbc.sage300.Sage300Driver',
url 'jdbc:sage300:User=SAMPLE;Password=password;URL=http://127.0.0.1/Sage300WebApi/v1/-/;Company=SAMINC;',
querytimeout '15',
jarfile '/home/MyUser/CData/CData\ JDBC\ Driver\ for\ Salesforce MyDriverEdition/lib/cdata.jdbc.sage300.jar');
CREATE USER MAPPING for postgres SERVER Sage300 OPTIONS (
username 'admin',
password 'test');
postgres=# CREATE FOREIGN TABLE oeinvoices (
oeinvoices_id text,
oeinvoices_InvoiceUniquifier text,
oeinvoices_ApprovedLimit numeric)
SERVER Sage300 OPTIONS (
table_name 'oeinvoices');
postgres=# SELECT * FROM oeinvoices;
このようにCData JDBC Driver for Sage300 を使って簡単にSage 300 データを取得して検索対象にすることができました。ぜひ、30日の無償評価版 をお試しください。