SQLAllocHandle
功能描述
分配环境、连接、语句或描述符的句柄,它替代了ODBC 2.x 函数SQLAllocEnv、
SQLAllocConnect 及SQLAllocStmt。
原型
SQLRETURN SQLAllocHandle(SQLSMALLINT HandleType,
SQLHANDLE InputHandle,
SQLHANDLE *OutputHandlePtr);
参数
表8-16 SQLAllocHandle 参数
关键字
参数说明
HandleType
由SQLAllocHandle 分配的句柄类型。必须为下列值之一:
SQL_HANDLE_ENV(环境句柄)
SQL_HANDLE_DBC(连接句柄)
SQL_HANDLE_STMT(语句句柄)
SQL_HANDLE_DESC(描述句柄)
申请句柄顺序为,先申请环境句柄,再申请连接句柄,最后申请
语句句柄,后申请的句柄都要依赖它前面申请的句柄。
InputHandle
将要分配的新句柄的类型。
如果HandleType 为SQL_HANDLE_ENV ,则这个值为
SQL_NULL_HANDLE。
如果HandleType 为SQL_HANDLE_DBC,则这一定是一个
环境句柄。
如
果
HandleType
为
SQL_HANDLE_STMT
或
SQL_HANDLE_DESC,则它一定是一个连接句柄。
OutputHandlePt r
输出参数:一个缓冲区的指针,此缓冲区以新分配的数据结构存
GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
251
放返回的句柄。
返回值
SQL_SUCCESS:表示调用正确。
SQL_SUCCESS_WITH_INFO:表示会有一些警告信息。
SQL_ERROR:表示比较严重的错误,如:内存分配失败、建立连接失败等。
SQL_INVALID_HANDLE:表示调用无效句柄。其他API 的返回值同理。
注意事项
当分配的句柄并非环境句柄时,如果SQLAllocHandle 返回的值为SQL_ERROR,则它
会将OutputHandlePtr 的值设置为SQL_NULL_HDBC 、SQL_NULL_HSTMT 或
SQL_NULL_HDESC。之后,通过调用带有适当参数的SQLGetDiagRec,其中HandleType
和Handle 被设置为IntputHandle 的值,可得到相关的SQLSTATE 值,通过SQLSTATE 值可
以查出调用此函数的具体信息。
示例
参见8.2.23 示例。