各製品の資料を入手。
詳細はこちら →こんにちは!テクニカルディレクターの桑島です。
CData JDBC Driver for D365BusinessCentral は、JDBC 標準をインプリメントし、BI ツールからIDE まで幅広いアプリケーションでDynamics 365 Business Central への接続を提供します。この記事では、Akorbi Digital RunMyProcess のDSEC からDynamics 365 Business Central に接続し、iPaaS 上のRunMyProcess からDynamics 365 Business Central のデータを利用する方法を説明します。
RunMyProcess のマニュアル内の「EnterpriseConnect」 の手順に従い、EnterpriseConnect Agent を設定します。
「JDBC Adapter」にJDBC経由でRDBMSに接続する手順が記載されているので、本章の内容を参考に「JDBC.config」ファイルを開きます。
#DBAgent Configuration
D365BusinessCentral = {"sqlDriver" : "cdata.jdbc.d365businesscentral.D365BusinessCentralDriver", "sqlSource" = "jdbc:d365businesscentral:OrganizationUrl=https://myaccount.financials.dynamics.com/;","sqlDriverPath" = "cdata.jdbc.d365businesscentral.jar" }
JDBCドライバのライブラリ cdata.jdbc.d365businesscentral.jar をunified-adapter-[version].jar と同じパスに配置します。
(注意)CDataのライセンスファイルcdata.jdbc.d365businesscentral.lic も同じパスに配置してください。なお、ラインセンスはCData 製品をインストールしたマシンの固有情報から生成していますので、インストールしたマシンと配置するマシンが異なる場合は、オフラインアクティベーションが別途必要になります。
Windows 版の場合は、Windows サービス内のRunMyProcess DigitalSuite EnterpriseConnect Agent を起動します。コマンドでの起動はRunMyProcess マニュアル内の「Starting the EnterpriseConnect Agent」を参照ください。
runAdapter.bat からJDBC Adapter を起動します。Adapter が起動するとagent address(例:127.0.0.1:8080)でアクセスできるようになります。以下、Windows 環境でのコマンド実行結果の例です。
C:\Program Files (x86)\dsec-agent\jdbc>java -Djava.util.logging.config.file=./log.properties -cp lib/* org.runmyprocess.sec2.AdapterHandler :
2021-06-09 14:37:58|INFO|correlationId=|Searching for config file...
2021-06-09 14:37:58|INFO|correlationId=|Adapter Handler started with [JDBC] configuration
2021-06-09 14:37:59|INFO|correlationId=|agent address: 127.0.0.1:8080
2021-06-09 14:38:00.251:INFO::ConnectionThread: Logging initialized @1820ms to org.eclipse.jetty.util.log.StdErrLog
2021-06-09 14:38:00|INFO|correlationId=|onConnect() websocket connection between Agent and Adapter established
DigitalSuite EnterpriseConnect Agent および、JDBC Adapter が正常に起動した状態だと、ローカルマシンのブラウザから http://localhost:(指定したポート番号)/ にアクセスすると下記の画面が表示されます。
Postman やcURL といったAPI にアクセス出来るツールからJDBC Adapter に対してアクセス出来るか確認します。本手順ではPostman を利用してHTTP POST リクエストを発行します。
RequestHeader には以下の通り設定します。
Content-Type application/json
RequestBody には以下の通り設定します。
{
"protocol":"JDBC",
"data":{
"DBType":"D365BusinessCentral",
"sqlUsername":"",
"sqlPassword":"",
"sqlStatement":"SELECT * FROM (テーブル名))"
}
}
「JDBC.config」ファイルにてクレデンシャル情報を含めている場合は、sqlUsername およびsqlPassword は空のままで構いません。テーブル名がわからない場合は、「SELECT * FROM sys_tables」で一覧を取得出来ます。
Response のStatus が200でBody にJSON 形式でDynamics 365 Business Central のデータが返ってきていれば成功です。
DegitalSuite Studio プロジェクトを作成して、作成したプロジェクト内にProvider を作成します。
続いてProvider 内にConnector を作成します。
ContentにはJDBC Adapter でテストしたRequest body と同じJSON データを登録します。
{
"protocol":"JDBC",
"data":{
"DBType":"D365BusinessCentral",
"sqlUsername":"",
"sqlPassword":"",
"sqlStatement":"SELECT * FROM (テーブル名))"
}
}
「Launch Test」を開いて、テストを実行します。右側ペインの「Result」内にDynamics 365 Business Central 内のデータが取得出来ている事を確認出来たら成功です。
このようにD365BusinessCentral 内のデータをDSEC 経由でRunMyProcess DegitalSuite Studio で利用することができるようになります。
サポートされるSQL についての詳細は、ヘルプドキュメントの「サポートされるSQL」をご覧ください。テーブルに関する情報は「データモデル」をご覧ください。