规范: | DB2 CLI 5.0 | ODBC 3.0 | ISO CLI |
SQLGetConnectAttr() 返回连接属性的当前设置。
语法
SQLRETURN SQLGetConnectAttr(SQLHDBC ConnectionHandle, SQLINTEGER Attribute, SQLPOINTER ValuePtr, SQLINTEGER BufferLength, SQLINTEGER *StringLengthPtr);
函数自变量
数据类型 | 自变量 | 使用 | 描述 |
---|---|---|---|
SQLHDBC | ConnectionHandle | 输入 | 连接句柄。 |
SQLINTEGER | Attribute | 输入 | 要检索的属性。 |
SQLPOINTER | ValuePtr | 输出 | 指向内存的指针,将在该内存中返回 Attribute 指定的属性的当前值。 |
SQLINTEGER | BufferLength | 输入 |
|
SQLINTEGER * | StringLengthPtr | 输出 | 指向缓冲区的指针,将在该缓冲区中返回可在
*ValuePtr 中返回的总字节数(排除 null 终止符)。
|
用法
调用 SQLGetConnectAttr() 将在 *ValuePtr 中返回在 Attribute 中指定的连接属性的值。在 DB2 Everyplace 中, 该值是 32 位值,未使用 BufferLength 和 StringLengthPtr 自变量。
下列连接属性可通过 SQLGetConnectAttr() 检索。有关属性的描述,请参阅 SQLSetConnectAttr - 设置与连接有关的选项。
根据属性,应用程序不必在调用 SQLGetConnectAttr() 之前建立连接。
返回码
诊断
表 88. SQLGetConnectAttr SQLSTATE
SQLSTATE | 描述 | 解释 |
---|---|---|
01000 | 警告。 | 参考消息。(函数返回 SQL_SUCCESS_WITH_INFO。) |
01004 | 数据被截断。 | *ValuePtr 中返回的数据将截断为 BufferLength 减去 null 终止字符的长度。将在 *StringLengthPtr 中返回未截断字符串值的长度。(函数返回 SQL_SUCCESS_WITH_INFO。) |
08003 | 连接已关闭。 | Attribute 值被指定为需要打开连接。 |
HY000 | 一般错误。 | 发生了错误,该错误没有特定 SQLSTATE。*MessageText 缓冲区中的 SQLGetDiagRec() 返回的错误消息描述该错误及其原因。 |
HY001 | 内存分配失败。 | DB2 CLI 无法分配支持函数的执行或完成所需的内存。可能进程级别内存已被应用程序进程耗尽。查阅操作系统配置以获取有关进程级别内存限制的信息。 |
HY090 | 字符串或缓冲区长度无效。 | 对 BufferLength 自变量指定的值小于 0。 |
HY092 | 选项类型超出范围。 | 对自变量 Attribute 指定的值无效。 |
HYC00 | 驱动程序不起作用。 | 对自变量 Attribute 指定的值是对 DB2 CLI 驱动程序的版本有效的连接或语句属性,但数据源不支持它。 |
限制
无。
相关参考