各製品の資料を入手。
詳細はこちら →CData
こんにちは!ドライバー周りのヘルプドキュメントを担当している兵藤です。
本記事では、SQL Server のTDS Remoting 機能を使ってDynamics NAV のリンクサーバーをセットアップする方法をご紹介します。リンクサーバーの利用には、CData ODBC ドライバに同梱されているSQL Gateway を使用します。 SQL Server のインターフェースでDynamics NAV への読み書き双方向のアクセスが可能になります。
まずは、本記事右側のサイドバーからDynamicsNAV ODBC Driver の無償トライアルをダウンロード・インストールしてください。ODBC ドライバーのインストール完了時にODBC DSN 設定画面が立ち上がります。または、Microsoft ODBC データソースアドミニストレーターを使ってDSN を作成および設定できます。
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 で適切な認証メソッドを選択します。
CData ODBC ドライバにはSQL Gateway が同梱されています。このSQL Gateway に、Dynamics NAV ODBC Driver をサービスとして設定します。
SQL Gateway 側でサービスの設定が終わったら、SQL Server 側でDynamics NAV サービスをリンクサーバーとして使う設定をしましょう。
これで、リンクサーバーの設定は終わりなので、「OK」を押して設定を保存します。
SSMS のオブジェクトエクスプローラーのリンクサーバー下にDynamics NAV のリンクサーバーが作成され、「テーブル」下にDynamics NAV のデータがアプリ単位でテーブルが生成されます。
新しいクエリを選択し、Dynamics NAV のデータを取得してみます。
SELECT * from リンクサーバー名.CData Dynamics NAV Source Sys(ODBC DSN 名).Dynamics NAV.テーブル名
このように、API のリクエストではなく通常のSQL 構文でデータを扱うことが可能になっています
Visual Studio のサーバーエクスプローラーの「データ接続」を右クリックし、「接続の追加」をクリックして、データソースの選択画面を開きます。 データソースの選択画面でデータソースを「Microsoft SQL Server 」に選択して、「続行」を押します。
「接続の追加」画面で、以下を入力します。
サーバー名:SQL Server のサーバー名
認証:任意の認証方式
データベース名の選択または入力:※master など
※リンクサーバーを直接データベース名として入力することはできないようです。なので上位のデータベース名で設定しておきます。
「テスト接続」をして大丈夫であれば、「OK」を押して設定を完了させます。
「新しいクエリ」で、SQL でSELECT 文を書いてデータを取得してみます。
SELECT * from リンクサーバー名.CData Dynamics NAV Source Sys(ODBC DSN 名).Dynamics NAV.テーブル名
このように、通常のSQL Server のリンクサーバーと同じようにVisual Studio 内Dynamics NAV のデータを扱うことが可能になります。
他のIDE でもSQL Server にアクセスする方法でDynamics NAV のデータにSQL でアクセスが可能になります。
複数データソースのJOIN などを行う場合には大変便利です。
このようにCData ODBC ドライバと併用することで、270を超えるSaaS、NoSQL データをSQL Server に連携できます。30日の無償評価版が利用できますので、ぜひ自社で使っているクラウドサービスやNoSQL と合わせて活用してみてください。