ノーコードでクラウド上のデータとの連携を実現。
詳細はこちら →CData
こんにちは!ドライバー周りのヘルプドキュメントを担当している兵藤です。
本記事では、SQL Server のTDS Remoting 機能を使ってXero のリンクサーバーをセットアップする方法をご紹介します。リンクサーバーの利用には、CData ODBC ドライバに同梱されているSQL Gateway を使用します。 SQL Server のインターフェースでXero への読み書き双方向のアクセスが可能になります。
まずは、本記事右側のサイドバーからXero ODBC Driver の無償トライアルをダウンロード・インストールしてください。ODBC ドライバーのインストール完了時にODBC DSN 設定画面が立ち上がります。または、Microsoft ODBC データソースアドミニストレーターを使ってDSN を作成および設定できます。
接続には、認証用の値に加えてSchema 接続プロパティを設定してください。Xero はプライベートアプリケーション、 パブリックアプリケーション、パートナーアプリケーションに認証を提供します。設定したアプリケーションに応じて、XeroAppAuthentication プロパティを PUBLIC、PRIVATE、またはPARTNER に設定する必要があります。プライベートアプリケーションから接続するには、追加でOAuthAccessToken、OAuthClientId、 OAuthClientSecret、CertificateStoreType、CertificateStore、およびCertificateStorePassword を設定してください。
パブリックまたはパートナーアプリケーションから接続する場合は、埋め込みOAuthClientId、OAuthClientSecret、 およびCallbackURL を指定するか、アプリを登録してOAuth の値を入手できます。
Xero への認証については、ヘルプドキュメントの「はじめに」を参照してください。
CData ODBC ドライバにはSQL Gateway が同梱されています。このSQL Gateway に、Xero ODBC Driver をサービスとして設定します。
SQL Gateway 側でサービスの設定が終わったら、SQL Server 側でXero サービスをリンクサーバーとして使う設定をしましょう。
これで、リンクサーバーの設定は終わりなので、「OK」を押して設定を保存します。
SSMS のオブジェクトエクスプローラーのリンクサーバー下にXero のリンクサーバーが作成され、「テーブル」下にXero のデータがアプリ単位でテーブルが生成されます。
新しいクエリを選択し、Xero データを取得してみます。
SELECT * from リンクサーバー名.CData Xero Source Sys(ODBC DSN 名).Xero.テーブル名
このように、API のリクエストではなく通常のSQL 構文でデータを扱うことが可能になっています
Visual Studio のサーバーエクスプローラーの「データ接続」を右クリックし、「接続の追加」をクリックして、データソースの選択画面を開きます。 データソースの選択画面でデータソースを「Microsoft SQL Server 」に選択して、「続行」を押します。
「接続の追加」画面で、以下を入力します。
サーバー名:SQL Server のサーバー名
認証:任意の認証方式
データベース名の選択または入力:※master など
※リンクサーバーを直接データベース名として入力することはできないようです。なので上位のデータベース名で設定しておきます。
「テスト接続」をして大丈夫であれば、「OK」を押して設定を完了させます。
「新しいクエリ」で、SQL でSELECT 文を書いてデータを取得してみます。
SELECT * from リンクサーバー名.CData Xero Source Sys(ODBC DSN 名).Xero.テーブル名
このように、通常のSQL Server のリンクサーバーと同じようにVisual Studio 内Xero データを扱うことが可能になります。
他のIDE でもSQL Server にアクセスする方法でXero データにSQL でアクセスが可能になります。
複数データソースのJOIN などを行う場合には大変便利です。
このようにCData ODBC ドライバと併用することで、270を超えるSaaS、NoSQL データをSQL Server に連携できます。30日の無償評価版が利用できますので、ぜひ自社で使っているクラウドサービスやNoSQL と合わせて活用してみてください。