Bagikan melalui


Pemetaan SQLSetConnectOption

Ketika ODBC 2.aplikasi x memanggil SQLSetConnectOption melalui driver ODBC 3*.x*, panggilan ke

SQLSetConnectOption(hdbc, fOption, vParam)  

akan menghasilkan sebagai berikut:

  • Jika fOption menunjukkan atribut koneksi yang ditentukan ODBC yang memerlukan string, Manajer Driver akan memanggil

    SQLSetConnectAttr(ConnectionHandle, Attribute, ValuePtr, SQL_NTS)  
    
  • Jika fOption menunjukkan atribut koneksi yang ditentukan ODBC yang mengembalikan nilai bilangan bulat 32-bit, Manajer Driver memanggil

    SQLSetConnectAttr(ConnectionHandle, Attribute, ValuePtr, 0)  
    
  • Jika fOption menunjukkan atribut koneksi yang ditentukan driver, Manajer Driver akan memanggil

    SQLSetConnectAttr(ConnectionHandle, Attribute, ValuePtr, BufferLength)  
    

Dalam tiga kasus sebelumnya, argumen ConnectionHandle diatur ke nilai dalam hdbc, argumen Atribut diatur ke nilai dalam fOption, dan argumen ValuePtr diatur ke nilai yang sama dengan vParam.

Karena Driver Manager tidak tahu apakah atribut koneksi yang ditentukan driver membutuhkan string atau nilai bilangan bulat 32-bit, atribut harus meneruskan nilai yang valid untuk argumen BufferLength dari SQLSetConnectAttr. Jika driver telah menentukan semantik khusus untuk atribut koneksi yang ditentukan driver dan perlu dipanggil menggunakan SQLSetConnectOption, driver harus mendukung SQLSetConnectOption.

Jika ODBC 2.aplikasi x memanggil SQLSetConnectOption untuk mengatur opsi pernyataan khusus driver dalam driver ODBC 3*.x*, dan opsi ditentukan dalam ODBC 2.versi x driver, konstanta manifes baru harus didefinisikan untuk opsi di driver ODBC 3*.x*. Jika konstanta manifes lama digunakan dalam panggilan ke SQLSetConnectOption, Manajer Driver akan memanggil SQLSetConnectAttr dengan argumen StringLength diatur ke 0.

Untuk driver ODBC 3*.x*, Driver Manager tidak lagi memeriksa untuk melihat apakah fOption berada di antara SQL_CONN_OPT_MIN dan SQL_CONN_OPT_MAX, atau lebih besar dari SQL_CONNECT_OPT_DRVR_START.

Mengatur Opsi Pernyataan pada Tingkat Koneksi

Di ODBC 2.x, aplikasi dapat memanggil SQLSetConnectOption untuk mengatur opsi pernyataan. Setelah selesai, driver menetapkan opsi pernyataan sebagai default untuk pernyataan apa pun yang kemudian dialokasikan untuk koneksi tersebut. Ini ditentukan driver apakah driver mengatur opsi pernyataan untuk pernyataan yang ada yang terkait dengan koneksi yang ditentukan.

Kemampuan ini tidak digunakan lagi dalam ODBC 3*.x*. Driver ODBC 3*.x* hanya perlu mendukung pengaturan ODBC 2.atribut pernyataan x di tingkat koneksi jika mereka ingin bekerja dengan ODBC 2.x aplikasi yang melakukan ini. Aplikasi ODBC 3*.x* tidak boleh mengatur atribut pernyataan di tingkat koneksi. Atribut pernyataan ODBC 3*.x* tidak dapat diatur pada tingkat koneksi, dengan pengecualian atribut SQL_ATTR_METADATA_ID dan SQL_ATTR_ASYNC_ENABLE, yang merupakan atribut koneksi dan atribut pernyataan, dan dapat diatur pada tingkat koneksi atau tingkat pernyataan.