更新时间:2024-11-12 GMT+08:00
兼容性参考
JDBC兼容性包
从发布包中获取。包名为GaussDB-Kernel_数据库版本号_操作系统版本号_64bit_Jdbc.tar.gz。
解压后JDBC的驱动jar包:
- gsjdbc4.jar:主类名为“org.postgresql.Driver”,数据库连接的URL前缀为“jdbc:postgresql”,该驱动包适用于从PostgreSQL迁移业务的场景,驱动类和加载路径与迁移前保持一致,但接口支持情况不完全一致,未支持的接口需要业务侧进行调整。
- gsjdbc200.jar:该驱动包适用于从Gauss200迁移业务的场景,驱动类和加载路径与迁移前保持一致,但接口支持情况不完全一致,未支持的接口需要业务侧进行调整。
- opengaussjdbc.jar:主类名为“com.huawei.opengauss.jdbc.Driver”,数据库连接的URL前缀为“jdbc:opengauss”。如果遇到同一JVM进程内需要同时访问PostgreSQL及GaussDB的场景,请使用此驱动包。
- 各驱动包只是驱动类加载路径和url前缀不同,接口功能相同。
- 不能使用gsjdbc4的驱动包操作PostgreSQL数据库,虽然部分版本能够建连成功,但部分接口行为与PostgreSQL JDBC不同,可能导致未知错误。
- 不能使用PostgreSQL的驱动包操作GaussDB数据库,虽然部分版本能够建连成功,但部分接口行为与GaussDB JDBC不同,可能导致未知错误。
Go驱动兼容
- 由于数据库的Go驱动当前不适配业界成熟ORM框架(比如xorm),在创建数据库连接时传入的驱动名称兼容“postgres”和“postgresql”。
- 设置环境变量GOENV_REGIST_ALL=false后,支持与PostgreSQL的Go驱动并存;若不设置此参数或设置GOENV_REGIST_ALL为true且go驱动代码中依赖PostgreSQL的Go驱动则会报错。
ecpg兼容
ecpg提供使用URL连接方式的连接语法,不仅支持“gaussdb”,还兼容支持“postgresql”。
连接语法:
EXEC SQL CONNECT TO target [AS connection-name] [USER user-name];
其中target支持“postgresql”方式如下:
- tcp:postgresql://hostname[:port][/dbname][?options]
- unix:postgresql://hostname[:port][/dbname][?options]
父主题: 应用程序开发教程