SQLAllocHandle
功能描述
用于分配环境、连接、语句或描述符的句柄,它替代了ODBC 2.x函数SQLAllocEnv、SQLAllocConnect及SQLAllocStmt。
接口原型
RETCODE SQL_API
SQLAllocHandle(SQLSMALLINT HandleType,
SQLHANDLE InputHandle,
SQLHANDLE * OutputHandle)
参数说明
参数名 | 参数说明 |
---|---|
HandleType | 由SQLAllocHandle分配的句柄类型。必须为下列值之一:
SQL_HANDLE_DBC_INFO_TOKEN 句柄仅由驱动程序管理器和驱动程序使用,应用程序不应使用此句柄类型 |
InputHandle | 将要分配的新句柄的类型。
|
OutputHandlePtr | 输出参数:一个缓冲区的指针,此缓冲区以新分配的数据结构存放返回的句柄。 |
返回值
- 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值可以查出调用此函数的具体信息。