ノーコードでクラウド上のデータとの連携を実現。
詳細はこちら →Dynamics 365 Business Central Driver の30日間無償トライアルをダウンロード
30日間の無償トライアルへ製品の詳細
Dynamics 365 Business Central JDBC Driver 相談したいItems、Sales Orders、Purchase Orders などのDynamics 365 Business Central アカウントデータを組み込んだパワフルなJava アプリケーションを短時間・低コストで作成して配布できます。
CData
こんにちは!リードエンジニアの杉本です。
Embulk は、大量のデータをDB、クラウドデータストア、DWH にロードできるオープンソースETL ツールです。近頃のトレンドでは1社で複数のオンプレアプリやSaaS を使っており、データ分析にはETL ツールを使ってデータを丸ごとDB/DWH にロードしてから、分析や可視化をすることが主流になっています。Embulk にはいろいろなプラグインがあり、多様なInput とOutput 処理をサポートしています。この記事では、Embulk のJDBC Input Plugin と CData Driver for D365BusinessCentral を使って、Dynamics 365 Business Central のデータを簡単にDB にロードする方法をご紹介します。この例ではロード先のDB にはMySQL を使います。
次に、EmbulkとCData JDBC Driverをつなぎこむための、JDBC Input Plugin をインストールします。以下のリンクからダウンロードできます。
https://github.com/embulk/embulk-input-jdbc/tree/master/embulk-input-jdbcインストール用のコマンドはこちら:
embulk gem install embulk-input-jdbc
今回はロード先DB としてMySQL を使います。ほかにもSQL Server、PostgreSQL、Google BigQuery などを使うことも可能です。ロードに必要な以下のプラグインをインストールしましょう。
https://github.com/embulk/embulk-output-jdbc/tree/master/embulk-output-mysqlコマンドはこちら。
embulk gem install embulk-output-mysql
in:
type: jdbc
driver_path: C:\Program Files\CData\CData JDBC Driver for D365BusinessCentral 2024J\lib\cdata.jdbc.d365businesscentral.jar
driver_class: cdata.jdbc.d365businesscentral.D365BusinessCentralDriver
url: jdbc:d365businesscentral:OrganizationUrl=https://myaccount.financials.dynamics.com/;
table: "Accounts"
out:
type: mysql
host: localhost
database: DatabaseName
user: UserId
password: UserPassword
table: "Accounts"
mode: insert
Dynamics 365 Business Central への認証には、User およびAccessKey プロパティが必要です。
データに接続するには、OrganizationUrl を指定します。OrganizationUrl は、 http://businesscentral.dynamics.com/abc123/ などのBusiness Central アカウントへのエンドポインであるか、Web サービスのルートを参照する必要があります。OrganizationUrl を指定する方法 および利用可能なエンドポイントについての詳細は、Business Central エンドポイント を参照してください。組織内に複数の会社がある場合は、どの会社に接続するかを特定するためにCompany を指定する必要があります。 会社が1つだけの場合は、Company を指定する必要はありません。
Dynamics 365 Business Central に認証するには、User およびAccessKey 接続プロパティを指定します。Microsoft では、これらをテストおよび開発目的で推奨します。ただし、運用環境での使用は推奨していません。User およびAccessKey の値を取得するには、Dynamics 365 Business Central の「ユーザー」ページに移動して「編集」をクリックします。User Name および Web Service Access Key の値は、User およびPassword 接続文字列プロパティとして入力する値です。User Name はE メールアドレス ではありません。短縮されたユーザー名です。
Microsoft では、OAuth 認証を使用する本番ユースケースを推奨します。詳細については、ヘルプドキュメントの「OAuth 認証の使用」を参照してください。
embulk run d365businesscentral-mysql.yml
ちなみに、上記の例ではテーブル名を直接指定しましたが、以下のようにSQL クエリを書いてもいいです。 WHERE 句で作成日や修正日を指定すれば、最新のデータだけを対象にすることも可能です。
in:
type: jdbc
driver_path: C:\Program Files\CData\CData JDBC Driver for D365BusinessCentral 2019J\lib\cdata.jdbc.d365businesscentral.jar
driver_class: cdata.jdbc.d365businesscentral.D365BusinessCentralDriver
url: jdbc:d365businesscentral:OrganizationUrl=https://myaccount.financials.dynamics.com/;
query: "SELECT accountid, Name FROM Accounts WHERE [RecordId] = 1"
out:
type: mysql
host: localhost
database: DatabaseName
user: UserId
password: UserPassword
table: "Accounts"
mode: insert
CData JDBC Driver for D365BusinessCentral をEmbulk で使うことで、Dynamics 365 Business Central と連携して簡単にデータを取得できます。ぜひ、30日の無償評価版をお試しください。