SQLAllocHandle -分配句柄

SQLAllocHandle() 分配任何类型的句柄。

语法

SQLRETURN SQLAllocHandle (SQLSMALLINT htype,
                          SQLINTEGER ihandle,
                          SQLINTEGER *handle);

函数自变量

表 1. SQLAllocHandle 参数
数据类型 自变量 使用 描述
SQLSMALLINT htype 输入 要分配的句柄的类型。 必须是 SQL_HANDLE_ENV , SQL_HANDLE_DBC , SQL_HANDLE_DESC 或 SQL_HANDLE_STMT。
SQLINTEGER ihandle 输入 用于描述分配新句柄的上下文的句柄; 但是,如果 htype 是 SQL_HANDLE_ENV ,那么这是 SQL_NULL_HANDLE。
SQLINTEGER * 句柄 输出 指向句柄的指针。

用法

此函数是 SQLAllocEnv(), SQLAllocConnect(),SQLAllocStmt()函数的替代函数。 此外,它还可用于分配描述符句柄。

如果 htype 是 SQL_HANDLE_ENV ,那么 ihandle 必须是 SQL_NULL_HANDLE。 如果 htype 是 SQL_HANDLE_DBC ,那么 ihandle 必须是有效的环境句柄。 如果 htype 是 SQL_HANDLE_DESC 或 SQL_HANDLE_STMT ,那么 ihandle 必须是有效的连接句柄。

返回码

  • SQL_SUCCESS
  • SQL_ERROR
  • sql_invalid_handle

诊断

如果自变量句柄为空指针,那么将返回 SQL_ERROR。

表 2。 SQLAllocHandle SQLSTATEs
SQLSTATE 描述 说明
58004 系统错误 不可恢复的系统错误。
HY014 句柄过多 已分配最大句柄数。

引用