Xero データをPowerShell script でSQL Server にレプリケートする方法

詳細情報をご希望ですか?

無償トライアル:

ダウンロードへ

製品の詳細情報へ:

Xero ODBC Driver

Xero ODBC ドライバーは、ODBC 接続をサポートする任意のアプリケーションからリアルタイムなXero 会計ソフトウェアデータに直接接続できるパワフルなツールです。標準のODBC ドライバーインタフェースを使用して、データベースのようにXero データにアクセスし、Xero の顧客、トランザクション、請求書、販売レシートなどの読み、書き、更新を実行できます。



ODBC Driver をつかって、Xero データをPowerShell script でSQL Server をはじめRDB に簡単レプリケート。



Xero データをDB にバックアップしておくニーズがあります。

  • データのバックアップ
  • DB にデータを格納して、他のアプリやBI、帳票ツールからの利用

本記事では、Xero データをDB に入るようにスキーマ化を行うCData ODBC Driver for Xero のキャッシュ機能を使って、SQL Server にXero の任意のアプリを同期する方法を説明します。

CData ODBC Drivers のインストールとXero への接続設定

ODBC 接続プロパティの指定がまだの場合は、DSN (データソース名)で接続設定を行います。 Microsoft ODBC データソースアドミニストレーターを使ってODBC DSN を作成および設定できます。 ODBC ドライバーのインストール完了時にODBC DSN 設定画面が立ち上がります。 Microsoft ODBC データソースアドミニストレーターを開いて設定を行うことも可能です。 必要なプロパティを設定する方法は、ヘルプドキュメントの「はじめに」をご参照ください。

Cache 設定

同じODBC DSN 画面で、Cache Connection とCache Provider のプロパティを設定します。Cache Provider は、キャッシュ先のDB の種類を指定します。Cache Connection は、Cache 先のDB のサーバー名、データベース名、ユーザー、パスワードを入力します。

  • Cache Provider:SQL Server 用に System.Data.SqlClient
  • Cache Connection:Server=server name;Database=database name;User ID=your id;Password=password;

PowerShell からスクリプトを実行してXero データをSQL Server にレプリケーション

PowerShell から以下のスクリプトで明示的にCache クエリを実行します。

[void][System.Reflection.Assembly]::LoadWithPartialName("System.Data") $connectionsString = "DSN=CData Xero Source" $odbcCon = New-Object System.Data.Odbc.OdbcConnection($connectionsString) $odbcCon.Open() $odbcCmd = New-Object System.Data.Odbc.OdbcCommand $odbcCmd.Connection = $odbcCon ## CACHE SELECT Accountテーブルは毎回全件取得。 $odbcCmd.CommandText = "CACHE SELECT * FROM TableName" ## 以下のようにCEHCKCACHEコマンドであれば、差分の削除も実施する ## $odbcCmd.CommandText = "CHECKCACHE * FROM TableName WITH REPAIR START '11/15/2017' END '2/2/2018'" $odbcCmd.ExecuteNonQuery() | Out-Null $odbcCmd.Dispose() $odbcCon.Close() $odbcCon.Dispose()

実際にSQL Server でデータが生成されていることが確認できます。あとは、SQL Server のデータをバックアップとして使うなり、BI やレポーティングに利用することが可能です。

まとめと無償評価版

このように、CData ODBC Drivers を使うことで、Xero データを簡単にSQL Server のようなDB にレプリケーションすることができます。是非、CData ODBC Drivers の30日の無償評価版 をお試しください。

スクリプトもSQL も書かずにXero データを複製したい場合には、CData Sync がおすすめです。是非、こちらもご覧ください。