CData Sync CLI で PCA Accounting のデータ を複数のデータベースにレプリケーションする方法
常時稼働のアプリケーションには、自動フェイルオーバー機能とリアルタイムのデータアクセスが欠かせません。CData Sync for PCA Accounting を使えば、ミラーリングデータベース、常時稼働のクラウドデータベース、レポーティングサーバーなど、さまざまなデータベースにPCA Accounting のデータをリアルタイム連携できます。Windows やJava が動作するあらゆるマシンから、リモートのPCA Accounting のデータとの自動同期が可能です。
Sync のコマンドラインインターフェース(CLI)を使えば、レプリケーションのほぼすべての設定を簡単に制御できます。設定を変更することなく、PCA Accounting のデータ を1つまたは複数のデータベースにレプリケーションすることが可能です。
PCA Accounting のデータ に接続する
接続文字列やメール通知などの設定は、XML 設定ファイルに保存できます。
以下は、SQLite へレプリケーションする場合の設定例です。
Windows
<?xml version="1.0" encoding="UTF-8" ?> <CDataSync><DatabaseType>SQLite</DatabaseType> <DatabaseProvider>System.Data.SQLite</DatabaseProvider> <ConnectionString>OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;CallbackURL=http://localhost:33333;ProductCode=MyProductCode;ApiVersion=V1;DataCenter=DataCenterName;DefaultDataArea=MyDefaultDataArea;InputModuleName=DefaultInputModuleName;</ConnectionString> <ReplicateAll>False</ReplicateAll> <NotificationUserName></NotificationUserName> <DatabaseConnectionString>Data Source=C:\my.db</DatabaseConnectionString> <TaskSchedulerStartTime>09:51</TaskSchedulerStartTime> <TaskSchedulerInterval>Never</TaskSchedulerInterval> </CDataSync>
Java
<?xml version="1.0" encoding="UTF-8" ?> <CDataSync><DatabaseType>SQLite</DatabaseType><DatabaseProvider>org.sqlite.JDBC</DatabaseProvider> <ConnectionString>OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;CallbackURL=http://localhost:33333;ProductCode=MyProductCode;ApiVersion=V1;DataCenter=DataCenterName;DefaultDataArea=MyDefaultDataArea;InputModuleName=DefaultInputModuleName;</ConnectionString> <ReplicateAll>False</ReplicateAll> <NotificationUserName></NotificationUserName> <DatabaseConnectionString>Data Source=C:\my.db</DatabaseConnectionString> </CDataSync>
PCA クラウド会計DX では、OAuth 2 認証標準を使います。
ユーザー資格情報の接続プロパティを設定せずに接続できます。接続に最小限必要な接続プロパティは、次のとおりです。
- InitiateOAuth:GETANDREFRESH に設定。InitiateOAuth を使って、OAuth 交換や、手動での接続文字列のアクセストークン設定の繰り返しを避けられます。
- OAuthClientId:アプリケーション設定のクライアントId に設定。
- OAuthClientSecret:アプリケーション設定のクライアントシークレットに設定。
- CallbackURL:アプリケーション設定のリダイレクトURL に設定。
- ApiVersion:接続するPCA API Server バージョンを設定。
- DefaultDataArea:接続するデータ領域を設定。
- DataCenter:接続するサーバーのDataCenter 名を設定。
- ProductCode:PCA 製品コード名を設定。
- InputModuleName:PCA InputSlip のInputModuleName を設定。
接続すると、CData 製品はデフォルトブラウザでPCA Accounting OAuth エンドポイントを開きます。ログインして、CData 製品にアクセス許可を与えます。CData 製品がOAuth プロセスを完了します。
ヘッドレスマシンの認証など、他のOAuth 認証フローについては、ヘルプドキュメントの「OAuth 認証の使用」を参照してください。
レプリケーションクエリの設定
Sync では、標準 SQL を使ってレプリケーションを制御できます。REPLICATE 文は、データベース内のテーブルをキャッシュして維持するための高レベルコマンドです。 PCA Accounting API がサポートする任意の SELECT クエリを定義できます。 以下の文は、PCA Accounting のデータ のテーブルをキャッシュし、差分更新を行います:
REPLICATE BuGroup;
レプリケーションクエリを含むファイルを指定することもできます。これにより、同じレプリケーションクエリを使って複数のデータベースへレプリケーションできます。
Sync を実行する
接続文字列とレプリケーションクエリを設定したら、以下のコマンドラインオプションで Sync を実行できます:
Windows
PCAAccountingSync.exe -g MySQLiteConfig.xml -f PCAAccountingSync.sql
Java
java -Xbootclasspath/p:c:\sqlitejdbc.jar -jar PCAAccountingSync.jar -g MySQLiteConfig.xml -f PCAAccountingSync.sql