製品をチェック

製品の詳細・30日間の無償トライアルはこちら

CData Sync

複数SAP アカウントをレプリケーション

複数のSAP アカウントを、1つあるいは多数のデータベースにレプリケーション。

宮本航太
プロダクトスペシャリスト

最終更新日:2022-06-05

こんにちは!プロダクトスペシャリストの宮本です。

CData Sync for SAPERP は、データベースにサンドボックスや製品インスタンスをレプリケートするなどの、レプリケーションの多様なシナリオに対する解決策を提供するスタンドアロンアプリケーションです。Sync for Windows およびSync for Java はどちらもコマンドラインインターフェース(CLI)を含んでおり、複数のSAP 接続を簡単に管理できます。この記事では、CLI を使って複数のSAP アカウントをレプリケートする方法について説明します。

SAP 接続の構成

接続およびE メール通知設定をXML 設定ファイルに保存できます。複数のSAP アカウントをレプリケートするには、複数の設定ファイルを使います。以下にSAP をSQLite にレプリケートする設定例を示します。

Windows

<?xml version="1.0" encoding="UTF-8" ?> <CDataSync> <DatabaseType>SQLite</DatabaseType> <DatabaseProvider>System.Data.SQLite</DatabaseProvider> <ConnectionString>Host=sap.mydomain.com;User=EXT90033;Password=xxx;Client=800;System Number=09;ConnectionType=Classic;Location=C:/mysapschemafolder;</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>Host=sap.mydomain.com;User=EXT90033;Password=xxx;Client=800;System Number=09;ConnectionType=Classic;Location=C:/mysapschemafolder;</ConnectionString> <ReplicateAll>False</ReplicateAll> <NotificationUserName></NotificationUserName> <DatabaseConnectionString>Data Source=C:\my.db</DatabaseConnectionString> </CDataSync>

Java 版では、SAP system にJCo JAR ファイルで接続します。Jco JAR ファイルの使い方は、ヘルプドキュメントの「はじめに」を参照してください。

Windows 版では、SAP への接続はlibrfc32.dll、librfc32u.dll、NetWeaver、Web Services (SOAP) のどれかで行います。 ConnectionType 接続プロパティをCLASSIC (librfc32.dll)、CLASSIC_UNICODE (librfc32u.dll)、NETWEAVER、SOAP に設定します。

Note: librfc32.dll やその他のSAP 接続には対応しておりません。SAP インストールから対応する接続モジュールをマシンにインストールしておいてください。

すべてのSync はSAP にSOAP Web Service 経由での接続をサポートしています。SOAP アクセスには、Client、RFCUrl、User、Password の接続プロパティを入力します。ConnectionType はSOAP に設定します。

詳細情報はobtaining the connection properties を参照してください。

各SAP インスタンスにクエリを設定

Sync を使うと標準SQL でレプリケーションを制御できます。REPLICATE ステートメントはハイレベルなコマンドで、データベースにテーブルをキャッシュして維持します。SAP API がサポートするあらゆるSELECT クエリを定義できます。下記のステートメントは、SAP データ のテーブルをキャッシュしてインクリメンタルに更新します。

REPLICATE MARA;

特定のデータベースを更新するために使用するレプリケーションクエリを含むファイルを指定することができます。レプリケーションステートメントはセミコロンで区切ります。次のオプションは、複数のSAP アカウントを同じデータベースにレプリケートする場合に便利です。

REPLICATE SELECT ステートメントでは、異なるテーブルのプレフィックスを使用できます。

REPLICATE PROD_MARA SELECT * FROM MARA

異なるスキーマを使用することもできます。

REPLICATE PROD.MARA SELECT * FROM MARA

Sync の実行

接続文字列およびレプリケーションクエリの設定が完了したら、次のコマンドラインオプションを使ってSync を実行できます。

Windows

SAPERPSync.exe -g MyProductionSAPERPConfig.xml -f MyProductionSAPERPSync.sql

Java

java -Xbootclasspath/p:c:\sqlitejdbc.jar -jar SAPERPSync.jar -g MyProductionSAPERPConfig.xml -f MyProductionSAPERPSync.sql

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。