嵌入式SymmetricDS 3.8的MCV示例?

时间:2017-02-21 22:46:31

标签: symmetricds

SymmetricDS有助于提供snippet of code从Java运行基本节点。但是,没有提供上下文,并且在他们的github存储库中没有可编译的示例。

这个other user's example稍微接近一点,但在getcEngine()。openRegistration(...)中仍然失败,但有例外:

  

java.lang.IllegalStateException:此节点尚未配置。无法在标识表中找到行

您是否成功运行版本为3.8的嵌入式客户端?你能提供一个超越设置阶段的最小例子吗?

1 个答案:

答案 0 :(得分:0)

链接的示例实际上可行,但嵌入式客户端没有为您设置其节点数据库。至少,您需要此客户端的sym_node和sym_node_identity行。下面的SQL对我有用。

此外,here's a minimum compilable example for IntelliJ Idea使用了对称的3.8.16.16脚本演示。

CREATE TABLE "sym_node"(
    "node_id" VARCHAR NOT NULL PRIMARY KEY ,
    "node_group_id" VARCHAR NOT NULL,
    "external_id" VARCHAR NOT NULL,
    "sync_enabled" INTEGER DEFAULT 0,
    "sync_url" VARCHAR,
    "schema_version" VARCHAR,
    "symmetric_version" VARCHAR,
    "database_type" VARCHAR,
    "database_version" VARCHAR,
    "heartbeat_time" TIMESTAMP,
    "timezone_offset" VARCHAR,
    "batch_to_send_count" INTEGER DEFAULT 0,
    "batch_in_error_count" INTEGER DEFAULT 0,
    "created_at_node_id" VARCHAR,
    "deployment_type" VARCHAR
);

CREATE TABLE "sym_node_identity"(
    "node_id" VARCHAR NOT NULL PRIMARY KEY ,
    FOREIGN KEY ("node_id") REFERENCES "sym_node" ("node_id")
);

insert into sym_node (node_id,node_group_id,external_id,sync_enabled,sync_url,schema_version,symmetric_version,database_type,database_version,heartbeat_time,timezone_offset,batch_to_send_count,batch_in_error_count,created_at_node_id) 
 values ('003','store','003',1,null,null,null,null,null,current_timestamp,null,0,0,'000');

INSERT INTO "sym_node_identity" VALUES('003');