http://publib.boulder.ibm.com/iseries/v5r2/ic2989/index.htm?info/cli/rzadpmst99.htm
用途
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 值。 |