在源库建两张表
create table t_decimal_18(id decimal(18,0));
create table t_decimal_19(id decimal(19,0));
insert into t_decimal_18 values (1111);
insert into t_decimal_19 values (1111);
目标库通过dblink 查询,decimal (18 ,0 )正常,decimal (19 ,0 )报错。
gbase>select * from t_decimal_18@link68;
+------+
| id |
+------+
| 1111 |
+------+
1 rows in set (Elapsed: 00:00:00.10)
gbase>select * from t_decimal_19@link68;
ERROR 1105 (HY000):Unknown error
补充测试,如果 decimal 类型有小数部分,则不会出现上述问题,可以正常查询。
现场透明网关参数配置不正确,修改 use_decimal 参数为 1 后可以解决问题。
网关参数配置文件 conf.properties 中参数 gbase.gt.table.use.decimal ,在整型值长度超过 19 位时是否使用 decimal 类型。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69980094/viewspace-2737431/ ,如需转载,请注明出处,否则将追究法律责任。