JRuby からDynamics NAV にデータ連携

リアルタイムDynamics NAV に連携するシンプルなJRuby アプリケーションを作成します。

加藤龍彦
ウェブデベロッパー

最終更新日:2018-10-23
dynamicsnav ロゴ

CData

jdbc ロゴ画像
JRuby ロゴ

こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。

JRuby はRuby プログラミング言語の高性能で安定した、完全にスレッド化されたJava 実装です。CData JDBC Driver for DynamicsNAV を使用すると、JRuby からリアルタイムDynamics NAV へのデータ連携を簡単に実装できます。ここでは、Dynamics NAV に接続し、クエリを実行して結果を表示する簡単なJRuby アプリを作成する方法を説明します。

Dynamics NAV データにJDBC で接続

アプリを作成する前に、JDBC Driver のJAR ファイルのインストール場所をメモします。 (通常はC:\Program Files\CDatat\CData JDBC Driver for DynamicsNAV\libにあります。)

JRuby は、JDBC をネイティブにサポートしているため、簡単にDynamics NAV に接続してSQL クエリを実行できます。java.sql.DriverManager クラスのgetConnection 関数を使用してJDBC 接続を初期化します。

Dynamics NAV 接続プロパティの取得・設定方法

Dynamics NAV に接続する前に、サーバーでOData サービスを有効にしておく必要があります。OData サービスを有効にすると、CData 製品はサーバーで発行されるあらゆるサービスにクエリできるようになります。Url を有効なDynamics NAV サーバー組織のルート(例:http://MyServer:7048)およびServerInstance(例:DynamicsNAV71)に設定します。 もしサーバーにService Default Company がない場合は、Company(例:'CRONUS Canada, Inc.')も設定する必要があります。 マルチテナントインストールでは、Tenant にテナントId(例:'Cronus1')を指定します。

認証するには、User およびPassword プロパティを設定して、Dynamics NAV ログインクレデンシャルまたはWindows ユーザークレデンシャルを有効にします。 AuthScheme で適切な認証メソッドを選択します。

ビルトイン接続文字列デザイナー

JDBC URL の構成については、Dynamics NAV JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。

java -jar cdata.jdbc.dynamicsnav.jar

接続プロパティを入力し、接続文字列をクリップボードにコピーします。

Using the built-in connection string designer to generate a JDBC URL (Salesforce is shown.)

以下はDynamics NAV の一般的なJDBC 接続文字列です。

jdbc:dynamicsnav:http://myserver:7048;User=myserver\Administrator;Password=admin;ServerInstance=DYNAMICSNAV71;

Dynamics NAV データへの接続性を持つJRuby アプリを作成

新しいRuby ファイル(例: DynamicsNAVSelect.rb) を作成してテキストエディタで開き、次のコードをファイルにコピーします。

require 'java' require 'rubygems' require 'C:/Program Files/CData/CData JDBC Driver for DynamicsNAV 2018/lib/cdata.jdbc.dynamicsnav.jar' url = "jdbc:dynamicsnav:http://myserver:7048;User=myserver\Administrator;Password=admin;ServerInstance=DYNAMICSNAV71;" conn = java.sql.DriverManager.getConnection(url) stmt = conn.createStatement rs = stmt.executeQuery("SELECT Name, Prices_Including_VAT FROM Customer") while (rs.next) do puts rs.getString(1) + ' ' + rs.getString(2) end

ファイルが完成したら、コマンドラインからファイルを実行するだけでJRuby でDynamics NAV を表示できるようになります。

jruby -S DynamicsNAVSelect.rb

SQL-92 クエリをDynamics NAV に書き込むと、Dynamics NAV を独自のJRuby アプリケーションに素早く簡単に組み込むことができます。今すぐ無料トライアルをダウンロードしましょう。

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。