JRuby からSage Intacct にデータ連携
JRuby はRuby プログラミング言語の高性能で安定した、完全にスレッド化されたJava 実装です。CData JDBC Driver for SageIntacct を使用すると、JRuby からリアルタイムSage Intacct へのデータ連携を簡単に実装できます。ここでは、Sage Intacct に接続し、クエリを実行して結果を表示する簡単なJRuby アプリを作成する方法を説明します。
Sage Intacct のデータにJDBC で接続
アプリを作成する前に、JDBC Driver のJAR ファイルのインストール場所をメモします。 (通常はC:\Program Files\CDatat\CData JDBC Driver for SageIntacct\libにあります。)
JRuby は、JDBC をネイティブにサポートしているため、簡単にSage Intacct に接続してSQL クエリを実行できます。java.sql.DriverManager クラスのgetConnection 関数を使用してJDBC 接続を初期化します。
Sage Intacct 接続プロパティの取得・設定方法
独自のWeb サービスクレデンシャル、埋め込みクレデンシャル(Basic 認証)、またはOkta クレデンシャルのいずれかを使用して、Sage Intacct への接続を確立できます。
Sage Intacct への認証
Sage Intacct は2種類の認証をサポートします。Basic およびOkta です。選択した認証方法に関連するプロパティを設定して、接続を構成します。
Basic 認証
Basic 認証スキームでは、埋め込みクレデンシャルを使用してデータの読み書きが可能です。オプションとして、独自のWeb サービスクレデンシャルを指定することもできます。
Basic 認証を使用して認証を行うには、以下のプロパティを設定します。
- AuthScheme:Basic。
- CompanyID:Sage Intacct にログインする際に会社を識別するために使用するID。
- User:Sage Intacct へのログインに使用するログイン名。
- Password:ログインクレデンシャル用のパスワード。
- (オプション)SenderID およびSenderPassword:Web サービスのSender ID およびパスワード(独自のWeb サービスクレデンシャルを使用している場合のみ)。
独自のWeb サービスクレデンシャルではなく、埋め込みクレデンシャルを使用する場合は、以下を実行する必要があります:
- Web サービスダッシュボードで、会社 -> 会社情報 -> セキュリティタブに移動します。
- Web サービス認証に"CData" を追加します。これは大文字・小文字が区別されます。これを行うには、会社 -> 会社情報(新しいUI では、設定 -> 会社)-> セキュリティ -> Web サービス認証 / 編集に移動します。
ビルトイン接続文字列デザイナー
JDBC URL の構成については、Sage Intacct JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。
java -jar cdata.jdbc.sageintacct.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
以下はSage Intacct の一般的なJDBC 接続文字列です。
jdbc:sageintacct:User=myusername;CompanyId=TestCompany;Password=mypassword;SenderId=Test;SenderPassword=abcde123;
Sage Intacct のデータへの接続性を持つJRuby アプリを作成
新しいRuby ファイル(例: SageIntacctSelect.rb) を作成してテキストエディタで開き、次のコードをファイルにコピーします。
require 'java'
require 'rubygems'
require 'C:/Program Files/CData/CData JDBC Driver for SageIntacct 2018/lib/cdata.jdbc.sageintacct.jar'
url = "jdbc:sageintacct:User=myusername;CompanyId=TestCompany;Password=mypassword;SenderId=Test;SenderPassword=abcde123;"
conn = java.sql.DriverManager.getConnection(url)
stmt = conn.createStatement
rs = stmt.executeQuery("SELECT Name, TotalDue FROM Customer")
while (rs.next) do
puts rs.getString(1) + ' ' + rs.getString(2)
end
ファイルが完成したら、コマンドラインからファイルを実行するだけでJRuby でSage Intacct を表示できるようになります。
jruby -S SageIntacctSelect.rb
SQL-92 クエリをSage Intacct に書き込むと、Sage Intacct を独自のJRuby アプリケーションに素早く簡単に組み込むことができます。今すぐ無料トライアルをダウンロードしましょう。