SQLSetConnectAttr() 设置特定连接的连接属性。
语法
SQLRETURN SQLSetConnectAttr (SQLHDBC hdbc,
SQLINTEGER fAttr,
SQLPOINTER vParam,
SQLINTEGER sLen);
函数自变量
数据类型 | 自变量 | 使用 | 描述 |
---|---|---|---|
SQLHDBC | hdbc | 输入 | 连接句柄 |
SQLINTEGER | fAttr | 输入 | 要设置的连接属性,有关更多信息,请参考表 147。 |
SQLPOINTER | vParam | 输入 | 与fAttr 相关联的值。根据选项的不同,这可以是指向 32 位整数值的指针,也可以是字符串。 |
SQLINTEGER | sLen | 输入 | 如果输入值是字符串的话,此自变量就是它的长度;否则不使用此自变量。 |
用法
通过 SQLSetConnectAttr() 设置的所有连接和语句选项都将持续到调用 SQLFreeConnect() 或下次调用SQLSetConnectAttr() 时为止。
通过 vParam 设置的信息的格式取决于所指定的 fAttr。选项信息可以是 32 位整数,也可以是指向以空终止的字符串的指针。
fAttr | 内容 |
---|---|
SQL_ATTR_AUTOCOMMIT |
32 位的值,它设置连接的落实行为。可能的值列示如下:
|
SQL_ATTR_COMMIT 或 SQL_TXN_ISOLATION |
32 位的值,它设置hdbc 所引用的当前连接的事务隔离级别。DB2 UDB CLI 接受下列值,但每个服务器都可能只支持这些隔离级别的其中某一些:
在 IBM 术语中:
有关“隔离级别”的详细说明,请参考 IBM SQL Reference。 应该在调用 SQLConnect() 之前设置 SQL_ATTR_COMMIT 属性。如果在建立连接之后更改了值,并且该连接是与远程数据源的连接,则在下一次对连接句柄成功调用SQLConnect() 之前,此更改不会生效。 |
SQL_ATTR_DATE_FMT |
32 位的整数值,这个值可以是:
|
SQL_ATTR_DATE_SEP |
32 位的整数值,这个值可以是:
|
SQL_ATTR_DBC_DEFAULT_LIB | 一个字符值,这个值指示将用于解析未限定文件引用的缺省库。如果连接正在使用系统命名方式,则此项无效。 |
SQL_ATTR_DBC_SYS_NAMING |
32 位的整数值,这个值可以是:
|
SQL_ATTR_DECIMAL_SEP |
32 位的整数值,这个值可以是:
|
SQL_ATTR_EXTENDED_COL_INFO |
32 位的整数值,这个值可以是:
|
SQL_ATTR_TIME_FMT |
32 位的整数值,这个值可以是:
|
SQL_ATTR_TIME_SEP |
32 位的整数值,这个值可以是:
|
SQL_SAVEPOINT_NAME | 一个字符值,它指示SQLEndTran() 要对函数 SQL_SAVEPOINT_NAME_ROLLBACK 或 SQL_SAVEPOINT_NAME_RELEASE 使用的保存点名称。 |
SQL_2ND_LEVEL_TEXT |
32 位的整数值,这个值可以是:
|
返回码
- SQL_SUCCESS
- SQL_SUCCESS_WITH_INFO
- SQL_ERROR
- SQL_INVALID_HANDLE
诊断
表 148. SQLSetConnectAttr SQLSTATE
SQLSTATE | 描述 | 说明 |
---|---|---|
HY001 | 内存分配失败 | 驱动程序无法分配支持此函数的执行或完成所必需的内存。 |
HY009 | 自变量值无效 |
给定fAttr 值,对自变量vParam 指定了无效的值。
指定了无效的 fAttr 值。 |
http://publib.boulder.ibm.com/iseries/v5r2/ic2989/index.htm?info/cli/rzadpmst99.htm