总结:和高斯差不多,都是基于PostgreSQL的,然后适配过程中使用高斯工程师给的最新驱动gaussdbjdbc.jar和jdbc:gaussdb配置 也连接成功了,适配过程参考写的高斯数据适配就行,记录下中间出现的几个差异问题
GBASE版本如下:
PostgreSQL 9.2.4 (single_node GBase8sV8.8.5 S5.0.0B29 build 9f0c40cd) compiled at 2024-07-26 09:15:11 commit 0 last mr 620 on x86_64-unknown-linux-gnu, compiled by g++ (GCC) 7.3.0, 64-bit
1、 程序执行sql提示不支持dual虚表
程序的客户端配置的都是huaweicloud-dws-jdbc-8.1.0.ja驱动,程序里执行sql提示 不存在 dual表,但是客户端执行sql是可以的
解决方法:程序连接配置要修改 currentSchema=模式名,改为currentSchema=模式名,public,
即额外加上 public 模式
2、(和高斯的差异)使用高斯新驱动,要去掉targetServerType=master配置
使用高斯新驱动配置,cytjdb.url配置了targetServerType=master启动报错,提示没有argetServerType=master属性,无法启动,需要删除这个配置,但是如果使用huaweicloud-dws-jdbc8.1.0.jar旧驱动搭配jdbc:postgresql连接,加了targetServerType=master是可以的。
去掉targetServerType=master的jdbc:gaussdb连接模板
cytjdb.url=jdbc:gaussdb://ip1:port1/数据库名称?currentSchema=模式,public&uppercaseAttributeName=true&targetServerType=master&loggerLevel=OFF&connectTimeout=30&socketTimeout=30&loginTimeout=30&prepareThreshold=1&batchMode=on&fetchsize=10&defaultRowFetchSize=10
cytjdb.username=数据库用户名
cytjdb.password=密码
cytjdb.dialect=org.hibernate.dialect.PostgreSQLDialect