返回首页

gbase数据、南大通用产品文档:GBase8aGBase 8a ODBC API 介绍

更新日期:2024年09月11日

本节总结了ODBC 程序,按照功能对它们进行了分类。
对于完整的ODBC
API 参考,请参考微软公司技术支持网站中“ODBC 程序员
参考”相关内容。
一个应用程序可以调用SQLGetInfo 函数来获取关于GBase 8a ODBC 的一致
信息。要获取关于在驱动中支持的特定函数的信息,应用程序可以调用
SQLGetFunctions。
注意:对于向后兼容的功能上,GBase 8a ODBC Driver 驱动支持所有不推
荐的函数。下面我们将按照功能分类列出常用的GBase 8a ODBC API 函数。
连接到一个数据源,如下表格所示:

GBase 8a 程序员手册ODBC 篇
南大通用数据技术股份有限公司

- 39 -
函数名
GBase
一致性
目 的
ODBC
SQLAllocHandle

ISO 92
获得一个环境、连接、语句、或者描
述符句柄。
SQLConnect

ISO 92
通过数据源名、用户ID 和密码连接到
一个指定的驱动。
SQLDriverConnect 是
ODBC
通过连接字符串,或者驱动管理器和
用户使用的驱动显示连接对话框的请
求来连接到指定驱动。
SQLAllocEnv

不推荐
获得一个从驱动分配的环境句柄。
SQLAllocConnect

不推荐
获得一个连接句柄。
获得关于驱动和数据源的信息,如下表格所示:
函数名
GBase
一致性
目 的
ODBC
SQLDataSources

ISO 92
返回可用的的数据源列表,
由驱动管理
器执行。
SQLDrivers

ODBC
返回已经安装的驱动和它们的属性,

驱动管理器执行。
SQLGetInfo

ISO 92
返回指定驱动和数据源的信息。
SQLGetFunctions

ISO 92
返回支持的驱动函数。
SQLGetTypeInfo

ISO 92
返回支持的数据类型信息。
设置和获得驱动属性,如下表格所示:
函数名
GBase
一致性
目 的
ODBC
SQLSetConnectAttr

ISO 92
设置一个连接的属性。
SQLGetConnectAttr

ISO 92
返回一个连接的属性值。
SQLSetConnectOption 是
不推荐
设置一个连接选项。
SQLGetConnectOption 是
不推荐
返回一个连接的选项值。
SQLSetEnvAttr

ISO 92
设置环境属性。
SQLGetEnvAttr

ISO 92
返回环境属性的值。
SQLSetStmtAttr

ISO 92
设置一个语句属性。

GBase 8a 程序员手册ODBC 篇


- 40 -

南大通用数据技术股份有限公司
函数名
GBase
一致性
目 的
SQLGetStmtAttr

ISO 92
返回语句属性的值。
SQLSetStmtOption

不推荐
设置一个语句选项。
SQLGetStmtOption

不推荐
返回一个语句选项的值。

预处理SQL 请求,如下表所示:
函数名
GBase
一致性
目 的
ODBC
SQLAllocStmt

不推荐
分配一个语句句柄。
SQLPrepare

ISO 92
为稍后的执行预处理一个SQL 语
句。
SQLBindParameter

ODBC
为一个SQL 语句中的参数分配存储
空间。
SQLGetCursorName

ISO 92
返回连接到语句句柄的游标名。
SQLSetCursorName

ISO 92
指定一个游标名。
SQLSetScrollOptions 是
ODBC
设置控制游标行为的选项。

提交请求,如下表格所示:
函数名
GBase
一致性
目 的
ODBC
SQLExecute

ISO 92
执行一个预处理语句。
SQLExecDirect

ISO 92
执行一个语句。
SQLNativeSql

ODBC
返回一个由驱动翻译的SQL 语句文本。

SQLDescribeParam 是
ODBC
返回一个语句中指定参数的描述。
SQLNumParams

ISO 92
返回一个语句中的参数个数。
SQLParamData

ISO 92
和SQLPutData 一起使用来在执行时用
来提供参数数据(用于长数据值)

SQLPutData

ISO 92
发送一个数值的部分或者全部到参数
中(用于长数据值)



GBase 8a 程序员手册ODBC 篇
南大通用数据技术股份有限公司

- 41 -
接收结果和关于结果的信息,如下表格所示:
函数名
GBase
一致性
目 的
ODBC
SQLRowCount

ISO 92
返回受插入、更新、或者删除请求影
响的行数。
SQLNumResultCols

ISO 92
返回结果集中的列数。
SQLDescribeCol

ISO 92
描述结果集中的一个列。
SQLColAttribute

ISO 92
描述结果集中一个列的属性。
SQLColAttributes

不推荐
描述结果集中一个列的属性。
SQLFetch

ISO 92
返回多行结果。
SQLFetchScroll

ISO 92
返回可卷动的结果行。
SQLExtendedFetch

不推荐
返回可卷动的结果行。
SQLSetPos

ODBC
在取得的块中定位一个游标,并允许
一个应用程序刷新结果集中的数据,
或者更新、删除结果集中的数据。
SQLBulkOperations 是
ODBC
执行批量的插入和批量的书签操作,
包含通过书签进行更新、删除、和获
取数据。

返回错误或者诊断信息,如下表格所示:
函数名
GBase
一致性
目 的
ODBC
SQLError

不推荐
返回额外错误或者状态信息。
SQLGetDiagField

ISO 92
返回额外的诊断信息
(一个单域的诊断
信息数据结构)

SQLGetDiagRec

ISO 92
返回额外的诊断信息
(一个多域的诊断
信息数据结构)





GBase 8a 程序员手册ODBC 篇


- 42 -

南大通用数据技术股份有限公司
获得关于数据源系统表(分类函数)项目的信息:
函数名
GBase
一致性
目 的
ODBC
SQLTransact

不推荐
提交或者回滚一个事务。
SQLEndTran

ISO 92
提交或者回滚一个事务。

执行事务,如下表所示:
函数名
GBase
一致性
目 的
ODBC
SQLTransact

不推荐
提交或者回滚一个事务。
SQLEndTran

ISO 92
提交或者回滚一个事务。

终止一个语句,如下表格所示:
函数名
GBase
一致性
目 的
ODBC
SQLFreeStmt

ISO 92
结束语句进程,
丢弃未确认的结果,

外可选的释放所有和语句句柄相关的
资源。
SQLCloseCursor

ISO 92
关闭一个在处理语句时打开的游标。
SQLCancel

ISO 92
取消一个SQL 语句。

终止一个连接,如下表格所示:
函数名
GBase
一致性
目 的
ODBC
SQLDisconnect

ISO 92
关闭连接。
SQLFreeHandle

ISO 92
释放一个环境、
连接、
语句或者描述符
句柄。
SQLFreeConnect

不推荐
释放连接句柄。
SQLFreeEnv

不推荐
释放一个环境句柄。


GBase 8a 程序员手册ODBC 篇
南大通用数据技术股份有限公司

- 43 -


GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 61 -
使用 DELAY_APPLY 配置参数来配置 RS 辅助服务器应用日志之前等待指定的时间期
间。
onconfig.std 值
DELAY_APPLY 0
缺省值
0

0 = 应用日志
后跟时间单位的整数:例如,1H 设置延迟一个小时。
number: 1-999 = 等待的天数、分钟数、小时数或秒数。
time_unit: D、H、M或S,此处 D = 天,H = 小时,M = 分钟,S = 秒。 这些值不区分大
小写。
生效
编辑 onconfig 文件并重启数据库服务器后。
当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。
当您通过运行 onmode -wm 命令重置内存中的该值时。
用法
延迟日志文件的应用允许您通过从 RS 辅助服务器恢复数据来快速恢复错误的数据库修
改。当设置 DELAY_APPLY 的值时,您必须还要设置 LOG_STAGING_DIR。如果配置
DELAY_APPLY 而未将 LOG_STAGING_DIR 设置为一个有效且安全的目录,
则服务器不
可初始化。
您必须通过设置 LOG_STAGING_DIR 配置参数来指定一个日志文件的有效并安全位置。
在 RS 辅助服务器上处理完最后的检查点之后,清除 GBase 8s staging 目录中的日志。
要看到有关发送到为 RS 辅助服务器设置的 GBase 8s log-staging 目录的数据信息,请在
RS 辅助服务器上运行 onstat -g rss verbose 命令。
如果写 GBase 8s staging 文件失败,则 RS 辅助服务器发出事件报警 40007。
如果远程独立辅助(RSS)服务器的 DELAY_APPLY 配置参数设置为一个非 0 的值,则
服务器不可用集群事务协调。

CRC32(expr)
函数说明
计算循环冗余码校验值并返回一个32 比特无符号值。
expr 应为一个字符串,而且在不是字符串的情况下会被作为字符串处理(若能成
功转换为字符串类型)。
若参数为NULL,则结果为NULL。
示例
示例1:expr 为字符串。
gbase> SELECT CRC32('GBase') FROM dual;
+----------------+
| CRC32('GBase') |
+----------------+
|
3594920295 |
+----------------+
1 row in set
示例2:expr 为数字。

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
752
gbase> SELECT CRC32(1.034) FROM dual;
+--------------+
| CRC32(1.034) |
+--------------+
|
1481567290 |
+--------------+
1 row in set