CData Sync CLI で CData Connect AI のデータ を複数のデータベースにレプリケーションする方法
常時稼働のアプリケーションには、自動フェイルオーバー機能とリアルタイムのデータアクセスが欠かせません。CData Sync for CData Connect AI を使えば、ミラーリングデータベース、常時稼働のクラウドデータベース、レポーティングサーバーなど、さまざまなデータベースにCData Connect AI のデータをリアルタイム連携できます。Windows やJava が動作するあらゆるマシンから、リモートのCData Connect AI のデータとの自動同期が可能です。
Sync のコマンドラインインターフェース(CLI)を使えば、レプリケーションのほぼすべての設定を簡単に制御できます。設定を変更することなく、CData Connect AI のデータ を1つまたは複数のデータベースにレプリケーションすることが可能です。
CData Connect AI のデータ に接続する
接続文字列やメール通知などの設定は、XML 設定ファイルに保存できます。
以下は、SQLite へレプリケーションする場合の設定例です。
Windows
<?xml version="1.0" encoding="UTF-8" ?> <CDataSync><DatabaseType>SQLite</DatabaseType> <DatabaseProvider>System.Data.SQLite</DatabaseProvider> <ConnectionString>AuthScheme=OAuth;InitiateOAuth=GETANDREFRESH;</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>AuthScheme=OAuth;InitiateOAuth=GETANDREFRESH;</ConnectionString> <ReplicateAll>False</ReplicateAll> <NotificationUserName></NotificationUserName> <DatabaseConnectionString>Data Source=C:\my.db</DatabaseConnectionString> </CDataSync>
Connect AI への接続方法は、OAuth 認証とBasic 認証の2種類があります。
OAuth を使用してConnect AI に接続するには、Auth Scheme を「OAuth」に設定します。デフォルトのWeb ブラウザにOAuth ログインページが表示されたら、Connect AI にログインして認証を完了します。
ブラウザベースのOAuth 認証が利用できない場合は、Basic 認証を使用できます。この場合、Auth Scheme を「Basic」に設定し、Connect AI のUser とPersonal Access Token を設定します。
ワークスペースへの接続
JDBC クライアントを特定のワークスペースに接続するには、Connect AI 用JDBC ドライバーのAdvanced タブでワークスペース名を指定します。
レプリケーションクエリの設定
Sync では、標準 SQL を使ってレプリケーションを制御できます。REPLICATE 文は、データベース内のテーブルをキャッシュして維持するための高レベルコマンドです。 CData Connect AI API がサポートする任意の SELECT クエリを定義できます。 以下の文は、CData Connect AI のデータ のテーブルをキャッシュし、差分更新を行います:
REPLICATE Account;
レプリケーションクエリを含むファイルを指定することもできます。これにより、同じレプリケーションクエリを使って複数のデータベースへレプリケーションできます。
Sync を実行する
接続文字列とレプリケーションクエリを設定したら、以下のコマンドラインオプションで Sync を実行できます:
Windows
ConnectSync.exe -g MySQLiteConfig.xml -f ConnectSync.sql
Java
java -Xbootclasspath/p:c:\sqlitejdbc.jar -jar ConnectSync.jar -g MySQLiteConfig.xml -f ConnectSync.sql