检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
基于Go驱动开发 Go驱动环境搭建 开发流程 连接数据库 连接数据库(以SSL方式) Go接口参考 父主题: 应用程序开发教程
获取驱动包 获取驱动包 根据不同版本的实例,下载不同版本的发布包,如表1所示。
数据库提供的Go驱动包依赖Go 1.13及以上版本。 驱动类 在创建数据库连接时,需要传入数据库驱动名称“gaussdb”。 其他Go驱动介绍请参见Go驱动兼容。 父主题: 基于Go驱动开发
用户不涉及驱动开发,调用需go 1.13版本或以上即可,runtime运行库需要更新至1.18版本及以上。 驱动类 在创建数据库连接时,需要传入数据库驱动名称“gaussdb”。其他Go驱动介绍请参见Go驱动兼容。 父主题: 基于Go驱动开发
解压后JDBC的驱动jar包: gsjdbc4.jar:主类名为“org.postgresql.Driver”,数据库连接的url前缀为“jdbc:postgresql”,该驱动包适用于从PostgreSQL迁移业务的场景,驱动类和加载路径与迁移前保持一致,但接口支持情况不完全一致
解压后JDBC的驱动jar包: gsjdbc4.jar:主类名为“org.postgresql.Driver”,数据库连接的url前缀为“jdbc:postgresql”,该驱动包适用于从PostgreSQL迁移业务的场景,驱动类和加载路径与迁移前保持一致,但接口支持情况不完全一致
如果遇到同一JVM进程内需要同时访问PostgreSQL及GaussDB的场景,请使用此驱动包。 各驱动包只是驱动类加载路径和url前缀不同,接口功能上相同。
驱动类 在创建数据库连接之前,需要加载数据库驱动类“com.huawei.gaussdb.jdbc.Driver”。 由于GaussDB在JDBC的使用上与PG的使用方法保持兼容,所以同时在同一进程内使用两个JDBC驱动的时候,可能会造成类名冲突。
开发流程 数据库Go驱动遵循Go语言第三方库的规则,只需在应用程序中import驱动,并将驱动代码放入GOPATH路径。 图1 采用Go开发应用程序的流程图 父主题: 基于Go驱动开发
开发流程 数据库Go驱动遵循Go语言第三方库的规则,只需在应用程序中import驱动,并将驱动代码放入GOPATH路径。
连接密态数据库 连接密态数据库需要使用Go驱动包openGauss-connector-go-pq,驱动包当前不支持在线导入,需要将解压缩后的Go驱动源码包放在本地工程,同时需要配置环境变量。具体Go驱动开发请参考《开发指南》中“应用程序开发教程 > 基于Go驱动开发”章节。
Go接口参考 sql.Open接口 type DB type Stmt type Tx type Rows type Row type ColumnType type Result 父主题: 基于Go驱动开发
Go接口参考 sql.Open接口 type DB type Stmt type Tx type Rows type Row type ColumnType type Result 父主题: 基于Go驱动开发
连接密态数据库 连接密态数据库需要使用Go驱动包openGauss-connector-go-pq,驱动包当前不支持在线导入,需要将解压缩后的Go驱动源码包放在本地工程,同时需要配置环境变量。具体Go驱动开发请参考《开发指南》中“应用程序开发教程 > 基于Go驱动开发”章节。
方法 描述 返回值 Open(driverName, dataSourceName string) 根据给定的数据库驱动以及驱动专属的数据源来打开一个数据库。 *DB, error 参数driverName和dataSourceName详解请参见连接数据库。
连接数据库 Go驱动提供了如下的方法用于生成一个数据库连接对象。
返回空字符串表示该驱动类型名字并未被支持。 error (ci *ColumnType)DecimalSize() 返回小数类型的范围和精度。 返回值ok的值为false时,说明给定的类型不可用或者不支持。
连接数据库 使用Go驱动时,调用Go sql的标准接口open创建数据库连接,返回一个连接对象,传入驱动名称和描述字符串。 函数原型 Go驱动提供了如下的方法用于生成一个数据库连接对象。
返回空字符串表示该驱动类型名字并未被支持。 error (ci *ColumnType)DecimalSize() 返回小数类型的范围和精度。 返回值ok的值为false时,说明给定的类型不可用或者不支持。
方法 描述 返回值 Open(driverName, dataSourceName string) 根据给定的数据库驱动以及驱动专属的数据源来打开一个数据库 *DB, error 参数driverName和dataSourceName详解请参见连接数据库。 父主题: Go接口参考