問題タブ [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.
database-replication - SymmetricDS: さまざまなデータベース構造と断面プロパティのサポート
SymmetricDs のいくつかのプロパティについて混乱しています。すなわち
リモート データベースと中央データベースのデータベース構造が異なる場合 (mysql、oracle などの異なるデータベースではない)、どのように管理すればよいでしょうか? たとえば、リモート データベースに 2 つのリレーショナル テーブル 'A' と 'B' があり、中央データベースに 1 つのテーブル 'C' しかなく、リモート データベースのリモート テーブル 'A' と 'B' の両方のデータを保持する場合、どうすれば私たちはそれを管理しますか?2 つの異なるテーブルで同じトリガーを定義することはできないためです。
リモート アプリケーションに任意のアクションのトランザクション ブロックがあり、異なるテーブルのデータの行が 1 つの単位として変更を反映する可能性がある場合、SymmetricDS はどのようにそれを管理できますか? 彼らはユーザーガイドにトランザクション属性について書いていましたが、私はそれを理解できませんでした。
誰でもこれについて何か考えを教えてもらえますか? また、データベースの同期と複製のための他のオープン ソース ツールを教えてください。
symmetricds - SymmetricDS 数値オーバーフロー
まったく同じ設計のデータベースが 2 つあり、アクティブ データベースからパッシブ データベースに特定のレコードを挿入しようとすると、SymmetricDS からエラーが発生します。
次のエラーが表示されます:「値 211 を Tinyint 型に変換中に数値オーバーフローが発生しました」。データはアプリケーションからアクティブ データベースに問題なく送信されますが、パッシブ データベースへのレプリケーションでエラーが発生します。また、パッシブ データベースに同じ値を手動で挿入することもできます。
SymmetricDS は、挿入中に何らかのデータ変換を行っていますか? どこで、なぜこれが起こっているのかを理解しようとしています。
ありがとう、カレブ
symmetricds - ソース ノードの 2 つの列をターゲットの 1 つの列に連結する方法
ソースで 2 つの列の値を連結し、SymmetricDS を使用してターゲット ノードの 1 つの列に結果をコピーする方法はありますか?
前もって感謝します
symmetricds - MySQL で SymmetricDS 構成テーブルに 1 つの個別のスキーマを使用しようとしています
ソース ノードの SymmetricDS テーブル用に別のスキーマを 1 つ作成しました。このノードには他に 2 つのスキーマがあり、問題は、symmetricds の開始時に次のようないくつかの警告が表示されることです。
「構成されているデータソースで 'schema1.table1' に一致するデータベース テーブルが見つかりませんでした」
mysql で、symmetricds 構成スキーマで読み取りと書き込みができるユーザーを作成しましたが、他のスキーマからのテーブルの読み取りしかできません。ソーススキーマ名を指定するトリガーも作成しました。ターゲット ノードのプロパティ ファイルでは、対称構成スキーマを指す接続 URL を使用します。
私が間違っていることを見つけるのを手伝ってもらえますか?
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 値をコピーするように強制する方法はありますか? または、この種の同期を実現する他の方法はありますか?
前もって感謝します
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 サーバーを実行します)、すべてが接続され、機能します。私は何を間違っていますか?
java - 戦争から SymmetricDS エンジンを抽出する
.war
Tomcat 8 にデプロイされたサンプル corp-000.properties から生成されたファイルがあります。次に、このエンジンを制御するためのボタンを含むページが必要です (つまり、エンジンとハートビートを実行したまま、手動で同期を有効または無効にします) 。
そのためには、あるタイプの変数を別のタイプStandaloneSymmetricEngine
から抽出する方法が必要です。そうするために考えられる方法はありますか、それとも概念的に何か間違っていることを念頭に置いていますか?その場合、どうすれば問題を解決できますか? .war
servlet
ありがとう
java - Tomcat で JMX が機能しない
構成は次のとおりです。サンプルの SymmetricDS エンジンを Tomcat 8 にデプロイしました。接続先の JMX MBean が必要です。構成ファイルsymmetric-server.properties
には次の値があります。
それでも、私が行くとlocalhost:31417
404が表示され、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 Adaptor
HTTPS
また、次を追加して、Javaコマンドラインオプションに変更jmx.agent.enable
して手動でオーバーライドしようとしました:false
sym_service.conf
無駄に。
私が間違っているのは何ですか?
アップデート
私が見つけたソースをgrepした後、ここでもhttp、https、およびjmx.httpSystemConstants.java
のポートがありましたが、リモートエージェントのポートはありませんでした