問題タブ [symmetricds]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
172 参照

database-replication - SymmetricDS: さまざまなデータベース構造と断面プロパティのサポート

SymmetricDs のいくつかのプロパティについて混乱しています。すなわち

  1. リモート データベースと中央データベースのデータベース構造が異なる場合 (mysql、oracle などの異なるデータベースではない)、どのように管理すればよいでしょうか? たとえば、リモート データベースに 2 つのリレーショナル テーブル 'A' と 'B' があり、中央データベースに 1 つのテーブル 'C' しかなく、リモート データベースのリモート テーブル 'A' と 'B' の両方のデータを保持する場合、どうすれば私たちはそれを管理しますか?2 つの異なるテーブルで同じトリガーを定義することはできないためです。

  2. リモート アプリケーションに任意のアクションのトランザクション ブロックがあり、異なるテーブルのデータの行が 1 つの単位として変更を反映する可能性がある場合、SymmetricDS はどのようにそれを管理できますか? 彼らはユーザーガイドにトランザクション属性について書いていましたが、私はそれを理解できませんでした。

誰でもこれについて何か考えを教えてもらえますか? また、データベースの同期と複製のための他のオープン ソース ツールを教えてください。

0 投票する
0 に答える
74 参照

symmetricds - SymmetricDS 数値オーバーフロー

まったく同じ設計のデータベースが 2 つあり、アクティブ データベースからパッシブ データベースに特定のレコードを挿入しようとすると、SymmetricDS からエラーが発生します。

次のエラーが表示されます:「値 211 を Tinyint 型に変換中に数値オーバーフローが発生しました」。データはアプリケーションからアクティブ データベースに問題なく送信されますが、パッシブ データベースへのレプリケーションでエラーが発生します。また、パッシブ データベースに同じ値を手動で挿入することもできます。

SymmetricDS は、挿入中に何らかのデータ変換を行っていますか? どこで、なぜこれが起こっているのかを理解しようとしています。

ありがとう、カレブ

0 投票する
1 に答える
327 参照

symmetricds - ソース ノードの 2 つの列をターゲットの 1 つの列に連結する方法

ソースで 2 つの列の値を連結し、SymmetricDS を使用してターゲット ノードの 1 つの列に結果をコピーする方法はありますか?

前もって感謝します

0 投票する
1 に答える
1461 参照

symmetricds - MySQL で SymmetricDS 構成テーブルに 1 つの個別のスキーマを使用しようとしています

ソース ノードの SymmetricDS テーブル用に別のスキーマを 1 つ作成しました。このノードには他に 2 つのスキーマがあり、問題は、symmetricds の開始時に次のようないくつかの警告が表示されることです。

「構成されているデータソースで 'schema1.table1' に一致するデータベース テーブルが見つかりませんでした」

mysql で、symmetricds 構成スキーマで読み取りと書き込みができるユーザーを作成しましたが、他のスキーマからのテーブルの読み取りしかできません。ソーススキーマ名を指定するトリガーも作成しました。ターゲット ノードのプロパティ ファイルでは、対称構成スキーマを指す接続 URL を使用します。

私が間違っていることを見つけるのを手伝ってもらえますか?

0 投票する
1 に答える
217 参照

symmetricds - ソースの 2 つのテーブルをターゲット ノードの 1 つのテーブルに同期する際の問題

私はこのシナリオを持っています:

ソース ノード:

スキーマ 1:

  • テーブル 1: id、フィールド 1、フィールド 2
  • テーブル 2: id、table1_id、table3_id
  • 表3: ID
  • 表 4: id、table1_id

スキーマ 2:

  • 表 5: id、table3_id、table6_id、field3、field4
  • 表 6: ID

ターゲット ノード:

スキーマ 1:

  • 表 7: id、フィールド 1、フィールド 2、フィールド 3、フィールド 4。

これを解決するために、「デフォルト」タイプのルーターを 1 つ作成し、各テーブルのトリガーと、trigger_router テーブルの対応する行を作成しました。その後、ソース ノードの Table1 からターゲット ノードの Table 7 への変換を管理するために、transform_table に 1 つの行を作成しました。ここに私の問題があります: 最初に、Table6 から Table7 にデータを取得するために transform_table に 1 つの行を作成しようとしましたが、主キーを使用して Table1 と Table6 をソースで直接リンクすることはできません。今、ルックアップ変換を使用して field3 と field4 を取得しようとしています。それを実現するために、次のような transform_column テーブルに行を作成しました。

変換が行われると、:ID 変数が、取得している table1 行の ID に置き換えられることを理解しています。私が抱えている問題は、いくつかの table7 行で field3 と field4 が NULL になる可能性があることです (クエリの LEFT JOINS から想像できるように)。だから私はエラーが発生しています

単一行が予期されていましたが、変換 source_2_target_table7_table1_schema1 のターゲット列 field3 のルックアップから行が返されませんでした

ルックアップ式が行を返さない場合に、SymmetricDS がこの列に NULL 値をコピーするように強制する方法はありますか? または、この種の同期を実現する他の方法はありますか?

前もって感謝します

0 投票する
0 に答える
1110 参照

java - SymmetricDS のスレーブ ノードの間違った登録 URL

最近、SymmetricDS チュートリアルの例を Tomcat 8 にデプロイしました。.war対応する.propertiesファイルから作成された 3 つのファイルがあります: corp-000.war、store-001.war、および store-002.war。corp-000.properties ファイルの sync.url は次のとおりです。

私の store-XXX.properties ファイルには次のものがあります。

何らかの理由で、Tomcat で 3 つすべてを開始すると、ログには次のように表示されます。

しかし、それはデフォルトでファイルにあった URL であり、私はそれを上に書いたものに変更しました!

Tomcat で corp-000 ノードを実行し、コマンド `bin\sym' を使用して store-XXX ノードを開始すると (これは組み込み Jetty サーバーを実行します)、すべてが接続され、機能します。私は何を間違っていますか?

0 投票する
1 に答える
199 参照

java - 戦争から SymmetricDS エンジンを抽出する

.warTomcat 8 にデプロイされたサンプル corp-000.properties から生成されたファイルがあります。次に、このエンジンを制御するためのボタンを含むページが必要です (つまり、エンジンとハートビートを実行したまま、手動で同期を有効または無効にします) 。

そのためには、あるタイプの変数を別のタイプStandaloneSymmetricEngineから抽出する方法が必要です。そうするために考えられる方法はありますか、それとも概念的に何か間違っていることを念頭に置いていますか?その場合、どうすれば問題を解決できますか? .warservlet

ありがとう

0 投票する
0 に答える
737 参照

java - Tomcat で JMX が機能しない

構成は次のとおりです。サンプルの SymmetricDS エンジンを Tomcat 8 にデプロイしました。接続先の JMX MBean が必要です。構成ファイルsymmetric-server.propertiesには次の値があります。

それでも、私が行くとlocalhost:31417404が表示され、JConsoleこのアプリケーションを起動するとどこにも見つかりません。

しかし、コマンドbin\symで SymmetricDS を起動し、組み込みjettyサーバーを使用して起動すると、HTTP Adaptorオンが表示され、ローカル アプリケーションlocalhost:31417を介しJConsoleて接続できますが、リモートで接続することはできませんlocalhost:31418

ここに画像の説明を入力

SymmetricDS のソースとファイルをダウンロードしました

ファイルから取得した構成は 3 つだけsymmetric-server.propertiesです。デフォルト値から、SymmetricWebServer の場合はjmx.http.port、https.port場合、およびhttp.portのようです。HTTP AdaptorHTTPS

また、次を追加して、Javaコマンドラインオプションに変更jmx.agent.enableして手動でオーバーライドしようとしました:falsesym_service.conf

無駄に。

私が間違っているのは何ですか?

アップデート

私が見つけたソースをgrepした後、ここでもhttphttps、およびjmx.httpSystemConstants.javaのポートがありましたが、リモートエージェントのポートはありませんでした