暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

华为GaussDB T Go接口参考

墨天轮 2019-10-12
1581

Go接口参考

  • Zenith的Go驱动基于Go语言定义的sql接口实现,应用import Zenith Go驱动,并执行init方法注册驱动。Go语言标准sql接口请参考以下链接:https://golang.org/pkg/database/sql/。
表1 参数列表

参数名称

参数说明

user

string型变量,指定连接数据库的用户名。

passwd

string型变量,指定登录数据库的用户密码。

host

string型变量,指定数据库服务端所在ip。

port

string型变量,指定数据库服务监听端口。

ssl_ca

string型变量,SSL的ca文件,如果服务端要求使用ssl连接则需要设置该参数。

ssl_cert

string型变量,SSL的client-cert文件,如果服务端要求使用ssl连接则需要设置该参数。

ssl_key

string型变量,SSL的client-key文件,如果服务端要求使用ssl连接则需要设置该参数。

ssl_crl

string型变量,SSL的crl文件,如果没有可以为空

ssl_keypwd

string型变量,生成SSL时的密码,如果没有设置可以为空

ssl_mode

string型变量,有4中模式:

disabled(禁用SSL连接)

preferred (优先使用SSL连接,如果服务端不支持SSL也可连接成功,默认值)

required (必须使用SSL连接,如果服务端不支持SSL,会导致连接建立失败)

verify_ca (校验服务端CA证书信息)

verify_full (必须使用SSL连接,并且校验服务端证书及证书中的CN字段是否为服务端IP地址)

socket_timeout

int型变量,设置socket超时时间,单位为秒,不设置是为系统默认值600s

exit_commit

预留参数,禁止使用

serveroutput

预留参数,禁止使用

charset_type

预留参数,禁止使用

ssl_cipher

预留参数,禁止使用

connect_timeout

预留参数,禁止使用

nls_characterset

预留参数,禁止使用

nls_comp

预留参数,禁止使用

nls_currency

预留参数,禁止使用

iso_currency

预留参数,禁止使用

language

预留参数,禁止使用

length_semamtics

预留参数,禁止使用

nchar_characterset

预留参数,禁止使用

nchar_conv_excp

预留参数,禁止使用

numberric_characters

预留参数,禁止使用

rdbms_version

预留参数,禁止使用

sort

预留参数,禁止使用

territory

预留参数,禁止使用

prefetch_rows

预留参数,禁止使用

prefetch_buffer

预留参数,禁止使用

  • 基于Zenith Go驱动中实现的方法,目前开发人员可以调用的GO语言标准接口的方法如下表所示:
表2 Open

方法

描述

返回值

Open(driverName, dataSourceName string)

基于Zenith Go驱动名称和描述字符串打开数据库

*DB, error

表3 type DB

方法

描述

返回值

(db *DB)Begin()

开始一个事务

*Tx, error

(db *DB)Prepare(query string)

为以后的查询或执行创建一个准备好的语句。当语句不再需要时,调用者必须调用语句的 Close 方法

*Stmt, error

(db *DB)Query(query string, args ...interface{})

查询执行一个返回行的查询。类型为*DB。

*Rows, error

(db *DB)Exec(query string, args ...interface{})

执行查询而不返回任何行。

Result, error

(db *DB)Close()

Close 关闭数据库,释放所有打开的资源。

error

表4 type Rows

方法

描述

返回值

(rs *Rows)Scan(dest ...interface{})

将当前行中的列复制到dest指向的值中。

error

(rs *Rows) Next()

准备下一个结果行以便用 Scan 方法读取。

如果有进一步的结果集,则返回 true;如果没有进一步的结果集或者有错误前进,则返回 false。

(rs *Rows) Close()

关闭行,防止进一步枚举。

error

表5 type Stmt

方法

描述

返回值

(s *Stmt) Query(args ...interface{})

查询使用给定的参数执行准备好的查询语句,并将查询结果作为 *Row 返回。

*Rows, error

(s *Stmt) Exec(args ...interface{})

Exec 使用给定的参数执行一个准备好的语句,并返回一个总结语句效果的 Result 。

Result,error

(s *Stmt) Close()

关闭行,防止进一步枚举。

error

表6 type Tx

方法

描述

返回值

(tx *Tx) Exec(query string, args ...interface{})

执行不返回行的查询。

Result,error

(tx *Tx) Commit()

提交事务。

error

(tx *Tx) Rollback()

回滚事务。

error

表7 type Result

方法

描述

返回值

(res Result) RowsAffected()

返回受影响的行数。

int64, error

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论