Fungsi SQLSetConnectAttrForDbcInfo

Kesesuaian
Versi yang Diperkenalkan: Kepatuhan Standar ODBC 3.81: ODBC

Ringkasan
SQLSetConnectAttrForDbcInfo sama dengan SQLSetConnectAttr, tetapi mengatur atribut pada token informasi koneksi alih-alih pada handel koneksi.

Sintaks

  
SQLRETURN  SQLSetConnectAttrForDbcInfo(  
                SQLHDBC_INFO_TOKEN    hDbcInfoToken,  
                SQLINTEGER            Attribute,  
                SQLPOINTER            ValuePtr,  
                SQLINTEGER            StringLength );  

Argumen

hDbcInfoToken
[Input] Handel token.

Attribut
[Input] Atribut yang akan diatur. Daftar atribut yang valid spesifik driver dan sama seperti untuk SQLSetConnectAttr.

ValuePtr
[Input] Arahkan ke nilai yang akan dikaitkan dengan Atribut. Bergantung pada nilai Atribut, ValuePtr akan menjadi nilai bilangan bulat yang tidak ditandatangani 32-bit atau akan menunjuk ke string karakter yang dihentikan null. Perhatikan bahwa jika argumen Atribut adalah nilai khusus driver, nilai dalam ValuePtr mungkin berupa bilangan bulat yang ditandatangani.

StringLength
[Input] Jika Atribut adalah atribut yang ditentukan ODBC dan ValuePtr menunjuk ke string karakter atau buffer biner, argumen ini harus panjang *ValuePtr. Untuk data string karakter, argumen ini harus berisi jumlah byte dalam string.

Jika Atribut adalah atribut yang ditentukan ODBC dan ValuePtr adalah bilangan bulat, StringLength diabaikan.

Jika Atribut adalah atribut yang ditentukan driver, aplikasi menunjukkan sifat atribut ke Manajer Driver dengan mengatur argumen StringLength . StringLength dapat memiliki nilai berikut:

  • Jika ValuePtr adalah penunjuk ke string karakter, maka StringLength adalah panjang string atau SQL_NTS.

  • Jika ValuePtr adalah penunjuk ke buffer biner, maka aplikasi menempatkan hasil makro SQL_LEN_BINARY_ATTR(length) di StringLength. Ini menempatkan nilai negatif dalam StringLength.

  • Jika ValuePtr adalah penunjuk ke nilai selain string karakter atau string biner, maka StringLength harus memiliki nilai SQL_IS_POINTER.

  • Jika ValuePtr berisi nilai panjang tetap, maka StringLength SQL_IS_INTEGER atau SQL_IS_UINTEGER, sebagaimana mewajibkan.

Mengembalikan

SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_ERROR, atau SQL_INVALID_HANDLE.

Diagnostik

Sama seperti SQLSetConnectAttr, kecuali bahwa Manajer Driver akan menggunakan HandleType SQL_HANDLE_DBC_INFO_TOKEN dan HandelhDbcInfoToken.

Keterangan

SQLSetConnectAttrForDbcInfo sama dengan SQLSetConnectAttr, tetapi mengatur atribut pada token informasi koneksi, bukan pada handel koneksi. Misalnya, jika SQLSetConnectAttr tidak mengenali atribut, SQLSetConnectAttrForDbcInfo juga harus mengembalikan SQL_ERROR untuk atribut tersebut.

Setiap kali driver mengembalikan SQL_ERROR atau SQL_INVALID_HANDLE, driver harus mengabaikan atribut ini untuk menghitung ID kumpulan. Selain itu, Manajer Driver akan mendapatkan informasi diagnostik dari hDbcInfoToken, dan mengembalikan SQL_SUCCESS_WITH_INFO ke aplikasi di SQLConnect dan SQLDriverConnect. Oleh karena itu, aplikasi dapat mengambil detail tentang mengapa beberapa atribut tidak dapat diatur.

Aplikasi tidak boleh memanggil fungsi ini secara langsung. Driver ODBC yang mendukung pengumpulan koneksi sadar driver harus menerapkan fungsi ini.

Sertakan sqlspi.h untuk pengembangan driver ODBC.

Lihat juga

Mengembangkan Driver ODBC
Pengumpulan Koneksi yang Sadar Driver
Mengembangkan kesadaran Connection-Pool di Driver ODBC