返回首页

gbase数据、南大通用产品文档:GBase8sSQLAllocEnv(仅限核心级别)

更新日期:2024年09月11日

SQLAllocEnv 为环境句柄 ,并初始化驱动程序调用级别接口,以供应用程序使用。
应用程序必须在调用其它驱动程序函数之前调用 SQLAllocEnv。
驱动程序在调用 SQLAllocEnv 之后不能直接返回 SQLSTATE 值,
因为没有有效的句柄在
调用 SQLError。

GBase 8s ODBC Driver 程序员指南
南大通用数据技术股份有限公司
- 210 -
存在两个级别的 SQLAllocEnv 函数,一个在驱动程序管理器中(如果使用的话),一个在
驱动程序中。
在应用程序调用 SQLConnect 、
SQLBrowseConnect 或 SQLDriverConnect 之
前,
驱动程序管理器不会调用驱动程序级别的函数。
如果在驱动程序级别 SQLAllocEnv 函
数中发生了错误,则驱动程序管理器层 SQLConnect 、SQLBrowseConnect 或
SQLDriverConnect 函数返回 SQL_ERROR。随后对使用 henv 、SQL_NULL_HDBC 和
SQL_NULL_HSTMT 的 SQLError 调用返回 SQLSTATE IM004 (驱动程序 SQLAllocEnv
函数失败),在以下驱动程序的错误之后:

SQLSTATE S1000(一般错误)

GBase 8s ODBC Driver SQLSTATE 值,它的范围是从 S1000 到 S19ZZ。
例如,SQLSTATE S1001(内存分配失败)表示从驱动程序管理器到驱动程序级别
SQLAllocEnv 的调用返回 SQL_ERROR,并且驱动程序管理器中的 henv 被设置为
SQL_NULL_HENV。

函数原型:
sword
GCIHandleFree(
dvoid *hndlp,
CONST ub4 type
);
功能描述:
释放已分配的各类句柄,用于结束当前会话、断开数据库连接后的句柄清理。
参数说明:
hndlp(输入)
需要释放的句柄。
type(输入)
释放句柄的句柄类型。取值参见GCIHandleAlloc 函数中type 参数的取值,环境句柄如
下:
GCI_HTYPE_ENV
释放环境句柄

GCI_HTYPE_SVCCTX
释放上下文句柄
GCI_HTYPE_SERVER
释放服务句柄
GCI_HTYPE_SESSION
释放会话句柄
GCI_HTYPE_ERROR
释放错误句柄

GCI_HTYPE_STMT
释放语句句柄



GCI_HTYPE_DIRPATH_CTX
释放dirpath 上下文句柄
GCI_HTYPE_DIRPATH_COLUMN_ARRAY
释放dirpath 类数组句柄
GCI_HTYPE_DIRPATH_STREAM
释放dirpath 流句柄
GCI_HTYPE_DESCRIBE
释放描述符句柄

返回值:
如果释放成功,则返回GCI_SUCCESS,释放失败,则返回GCI_ERROR。
注释:
该函书需要配合GCIHandleAlloc 或GCIEnvCreate 使用。

node (172.168.83.14)
backup table begin