各製品の資料を入手。
詳細はこちら →SpagoBI でDynamics NAV に連携
SpagoBI Studio でリアルタイムDynamics NAV にフィーチャーしたレポートを作成します。ホストのDynamics NAV はSpagoBI サーバーを報告します。
最終更新日:2022-06-13
この記事で実現できるDynamics NAV 連携のシナリオ
こんにちは!ドライバー周りのヘルプドキュメントを担当している古川です。
CData JDBC Driver for DynamicsNAV はJDBC 標準をサポートするビジネスインテリジェンスおよびデータマイニングツールからリアルタイムDynamics NAV に接続することを可能にします。この記事では、Dynamics NAV をSpagoBI Studio のレポートに統合し、SpagoBI サーバーでホストする方法を説明します。
SpagoBI サーバーのJDBC ドライバーをデプロイ
以下のステップに従ってSpagoBI サーバーでJDBC data source for DynamicsNAV を作成します。
- ドライバーJAR を%CATALINA_BASE%/lib にコピーします。これらのファイルは、インストールディレクトリのlib サブフォルダにあります。
Dynamics NAV ドライバーリソースをコンテクストに追加します。以下のリソース定義をserver.xml の[GlobalNamingResources]要素に追加できます。
<Resource name="jdbc/dynamicsnav" auth="Container" type="javax.sql.DataSource" driverclassname="cdata.jdbc.dynamicsnav.DynamicsNAVDriver" factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" maxactive="20" maxidle="10" maxwait="-1"/>
- 以下のリソースリンクを追加し、Web アプリケーションへのアクセスを許可します。この記事では、SpagoBI のMETA-INF\context.xml に次の行を追加します。
<ResourceLink global="jdbc/dynamicsnav" name="jdbc/dynamicsnav" type="javax.sql.DataSource"/>
- サーバーを再起動します。
SpagoBI サーバーのリソースにドライバーを追加した後、データソースを追加します。SpagoBIで[Resources]->[Data Source]->[Add]と進み、以下の情報を入力します。
- Label:ドライバーに独特の識別子を入力します。
- Description:ドライバーにディスクリプションを入力します。
- Dialect:デフォルトの方言を選択します。
- Read Only:読み取り専用オプションを選択します。このオプションは、データソースがエンドユーザーによって作成された、データセットを保存するためのデフォルトデータベースであるかどうかを決定します。
- Type:[JDBC]を選択します。
- URL:
- 必要な接続文字列プロパティを使用してJDBC URLを入力します。
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
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
以下は一般的なJDBC URL です。
jdbc:dynamicsnav:http://myserver:7048;User=myserver\Administrator;Password=admin;ServerInstance=DYNAMICSNAV71;
- Driver:ドライバーのクラス名にcdata.jdbc.dynamicsnav.DynamicsNAVDriver を入力します。

SpagoBI Studio でレポートを作成
以下のステップに従い、SpagoBI StudioでDynamics NAV に基づいたレポートを作成します。SQL クエリの結果をチャートに挿入するデータセットを作成します。次のセクションでは、このレポートをSpagoBI サーバーでホストします。
初めに、SpagoBI Studio のレポートからDynamics NAV に接続してください。
- SpagoBI Studio で、[File]->[New]->[Project]とクリックしていき、[Business Intelligence and Reporting Tools]フォルダで[Report Project]を選択します。
- [File]->[New]->[Report]と進み、[Blank Report]を選択します。
- [Data Explorer]ビューで[Data Sources]を右クリックし、[New Data Source]をクリックします。
- [JDBC Data Source]を選択し、データソース名を入力します。
- [Manage Drivers]をクリックし、[Add]をクリックしてドライバーJAR(cdata.jdbc.dynamicsnav.jar) を追加します。
- ドライバーJAR は、インストールディレクトリのlib サブフォルダにあります。
- [Driver Class]メニューでドライバークラス(cdata.jdbc.dynamicsnav.DynamicsNAVDriver)を選択します。
- [Database URL]ボックスに、[JDBC URL]を入力します。以下は一般的な接続文字列です。
jdbc:dynamicsnav:http://myserver:7048;User=myserver\Administrator;Password=admin;ServerInstance=DYNAMICSNAV71;
必要な接続プロパティを取得するためのガイドについては、ドライバーヘルプの[Getting Started]チャプターを見てください。
Dynamics NAV に接続した後、SQL クエリの結果を含むデータセットを作成します。
- [DataSet]フォルダを右クリックし、[New Data Set]をクリックします。JDBC data source for DynamicsNAV を選択し、データセットの名称を入力します。
- SQL クエリを構築します。ここでは、このクエリを使用してダッシュボードにチャートを追加します。例:
SELECT Name, Prices_Including_VAT FROM Customer
データセットを使用して、レポートオブジェクトにデータを入力できます。以下のステップに従って、チャートを作成します。
- [Palette]ビューで、チャートをキャンバスにドラッグします。
- [Select Chart Type]タブで棒グラフを選択します。
- [Select Data]タブで[Use Data From]オプションをクリックし、メニューからDynamics NAV のデータセットを選択します。
- Name をテーブルからx 軸の系列にドラッグします。
- Prices_Including_VAT をテーブルからy 軸の系列にドラッグします。
SpagoBI サーバーに関するホストDynamics NAV レポート
以下のステップに従って、SpagoBI サーバーでリアルタイムDynamics NAV に基づいてドキュメントをホストできます。前のセクションで作成したレポートをテンプレートとして使用します。レポートユーザーがリアルタイムデータにアクセスできるようにするには、サーバー上のDynamics NAV JDBC データソースに置き換えられるプレースホルダパラメータを作成します。
- 未実行の場合、SpagoBI Studio で[Report Design]パースペクティブで開きます。
- [Data Explorer]ビューで[Report Parameters]フォルダを右クリックし、[New Parameter]をクリックします。url パラメータを追加し、それに空の値を割り当てます。このパラメータはSpagoBI サーバー上のJDBC データソースのプレースホルダです。
- Dynamics NAV のデータソースを右クリックし、[Edit]をクリックします。
-
[Property Binding]ノードで、JDBC Driver のURL バインディングプロパティurl パラメータに設定します。プロパティのボックスをクリックします。[Category]セクションで[Report Parameters]を選択します。[Subcategory]セクションで[All]を選択し、パラメータをダブルクリックします。
JavaScript構文に以下のように入力することもできます。
params["url"].value
続いて、SpagoBI サーバーでレポート用の新しいドキュメントを作成します。
- SpagoBI サーバーで、[Documents Development]->[Create Document]->[Generic Document]と進みます。[Document Details]ページが表示されます。
- 以下の情報を入力し、ドキュメントを作成します。
- Label:ドキュメントに独自の識別子を入力します。
- Name:ドキュメントのわかりやすい名前を入力します。
- Type:メニューから[Report]を選択します。
- Engine:[BIRT Report Engine]を選択します。
- Data Source:SpagoBI サーバーのCreate a JDBC Data Source for DynamicsNAV で作成したDynamics NAV Data Source を選択します。
- [Show Document Templates]セクションで、ドキュメントを格納したいフォルダを選択します。
[Template]セクションで、[Choose File]をクリックします。レポートプロジェクトを含むフォルダに移動します。.rptdesign ファイルを選択します。
Noteプロジェクトへのパスは、プロジェクトプロパティで確認できます。
- [Save]ボタンをクリックします。

サーバーでレポートを実行すると、プレースホルダurl パラメータがサーバーで定義されたJDBC URL に置き換えられます。
