所以我試圖使用symmetricDS將 java h2 數(shù)據(jù)庫復(fù)制到 postgres。我正在使用zip文件簡單配置。這是發(fā)生了什么。我遵循了入門指南,下載了 symmetricds,并嘗試了演示,然后我嘗試了我自己的配置,并在觸發(fā)器中使用了一些表。但:如果我復(fù)制沒有varchar字段的表,h2它工作得很好。如果我有一個包含varchar字段的表,它會在創(chuàng)建表時崩潰。JdbcSqlTemplate - ERROR: length for type varchar cannot exceed 10485760 Position: 161. Failed to execute: CREATE TABLE "asset"( "db_id" BIGINT NOT NULL DEFAULT nextval('"asset_db_id_seq"'), "id" BIGINT NOT NULL, "account_id" BIGINT NOT NULL, "name" VARCHAR(2147483647) NOT NULL, "description" VARCHAR(2147483647), "quantity" BIGINT NOT NULL, "decimals" SMALLINT NOT NULL, "initial_quantity" BIGINT NOT NULL, "height" INTEGER NOT NULL, "latest" BOOLEAN DEFAULT 'TRUE' NOT NULL, PRIMARY KEY ("db_id"))確實(shí)是一個明顯的錯誤,說 varchar 不應(yīng)超過 255,但這就是源數(shù)據(jù)庫的情況,無論如何要強(qiáng)制輸入任何 varcharTEXT嗎?或者有其他方法可以解決這個問題嗎?或者這是一個symmetricds尚未解決的錯誤?謝謝。
1 回答

墨色風(fēng)雨
TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超6個贊
我設(shè)法通過手動在目標(biāo)數(shù)據(jù)庫上創(chuàng)建表來解決這個問題。這是我在運(yùn)行之前所做的bin/sym
。
生成查詢表我想用創(chuàng)造
dbexport
的bin/dbexport --engine corp-000 --compatible=postgres --no-data table_a table_b > samples/create_asset_and_trade.sql
修改生成的查詢文件中的缺陷
samples/create_asset_and_trade.sql
。就我而言,它是varchar
.修復(fù)后,運(yùn)行生成的查詢以使用
dbimport
.bin/dbimport --engine store-001 samples/create_asset_and_trade.sql
.bin/sym
現(xiàn)在運(yùn)行應(yīng)該沒問題,它會檢測到表已經(jīng)創(chuàng)建,并跳過表創(chuàng)建步驟。
這不是理想的方式,但現(xiàn)在應(yīng)該可行。
添加回答
舉報(bào)
0/150
提交
取消