Bagikan melalui


Fungsi SQLConfigDriver

Kesesuaian
Versi diperkenalkan: ODBC 2.5

Ringkasan
SQLConfigDriver memuat DLL penyiapan driver yang sesuai dan memanggil fungsi ConfigDriver .

Fungsionalitas SQLConfigDriver juga dapat diakses dengan ODBCCONF.EXE.

Sintaks

  
BOOL SQLConfigDriver(  
     HWND     hwndParent,  
     WORD     fRequest,  
     LPCSTR   lpszDriver,  
     LPCSTR   lpszArgs,  
     LPSTR    lpszMsg,  
     WORD     cbMsgMax,  
     WORD *   pcbMsgOut);  

Argumen

hwndParent
[Input] Handel jendela induk. Fungsi tidak akan menampilkan kotak dialog apa pun jika handel null.

fRequest
[Input] Jenis permintaan. fRequest harus berisi salah satu nilai berikut:

ODBC_CONFIG_DRIVER: Mengubah batas waktu pengumpulan koneksi yang digunakan oleh driver.

ODBC_INSTALL_DRIVER: Menginstal driver baru.

ODBC_REMOVE_DRIVER: Menghapus driver yang ada.

Opsi ini juga dapat menjadi khusus driver, dalam hal ini fRequest untuk opsi pertama harus dimulai dari ODBC_CONFIG_DRIVER_MAX+1. FRequest untuk opsi tambahan apa pun juga harus dimulai dari nilai yang lebih besar dari ODBC_CONFIG_DRIVER_MAX+1.

lpszDriver
[Input] Nama driver sebagaimana terdaftar dalam informasi sistem.

lpszArgs
[Input] String null-terminated yang berisi argumen untuk fRequest khusus driver.

lpszMsg
[Output] String null-terminated yang berisi pesan output dari penyiapan driver.

cbMsgMax
[Input] Panjang lpszMsg.

pcbMsgOut
[Output] Jumlah total byte yang tersedia untuk dikembalikan dalam lpszMsg. Jika jumlah byte yang tersedia untuk dikembalikan lebih besar dari atau sama dengan cbMsgMax, pesan output di lpszMsg dipotong menjadi cbMsgMax dikurangi karakter penghentian null. Argumen pcbMsgOut dapat berupa penunjuk null.

Kembali

Fungsi mengembalikan TRUE jika berhasil, FALSE jika gagal.

Diagnostik

Saat SQLConfigDriver mengembalikan FALSE, nilai *pfErrorCode terkait dapat diperoleh dengan memanggil SQLInstallerError. Tabel berikut mencantumkan nilai *pfErrorCode yang dapat dikembalikan oleh SQLInstallerError dan menjelaskan masing-masing nilai dalam konteks fungsi ini.

*pfErrorCode Kesalahan Deskripsi
ODBC_ERROR_GENERAL_ERR Kesalahan penginstal umum Terjadi kesalahan karena tidak ada kesalahan penginstal tertentu.
ODBC_ERROR_INVALID_BUFF_LEN Panjang buffer tidak valid Argumen lpszMsg tidak valid.
ODBC_ERROR_INVALID_HWND Handel jendela tidak valid Argumen hwndParent tidak valid.
ODBC_ERROR_INVALID_REQUEST_TYPE Jenis permintaan tidak valid Argumen fRequest bukan salah satu dari berikut ini:

ODBC_INSTALL_DRIVER ODBC_REMOVE_DRIVER

Argumen fRequest adalah opsi khusus driver yang kurang dari atau sama dengan ODBC_CONFIG_DRIVER_MAX.
ODBC_ERROR_INVALID_NAME Nama pengandar atau penerjemah tidak valid Argumen lpszDriver tidak valid. Ini tidak dapat ditemukan di registri.
ODBC_ERROR_INVALID_KEYWORD_VALUE Pasangan nilai kata kunci tidak valid Argumen lpszArgs berisi kesalahan sintaks.
ODBC_ERROR_REQUEST_FAILED Permintaan gagal Alat penginstal tidak dapat melakukan operasi yang diminta oleh argumen fRequest . Panggilan ke ConfigDriver gagal.
ODBC_ERROR_LOAD_LIBRARY_FAILED Tidak dapat memuat pustaka penyetelan pengandar atau penerjemah Pustaka penyetelan driver tidak dapat dimuat.
ODBC_ERROR_OUT_OF_MEM Kehabisan memori Alat penginstal tidak dapat melakukan fungsi karena kurangnya memori.

Komentar

SQLConfigDriver memungkinkan aplikasi untuk memanggil rutinitas ConfigDriver driver tanpa harus mengetahui nama dan memuat DLL penyiapan khusus driver. Program Penyetelan memanggil fungsi ini setelah DLL penyetelan pengandar diinstal. Program panggilan harus mengetahui bahwa fungsi ini mungkin tidak tersedia untuk semua driver. Dalam kasus seperti itu, program panggilan harus dilanjutkan tanpa kesalahan.

Opsi Khusus Driver

Aplikasi dapat meminta fitur khusus driver yang diekspos oleh driver dengan menggunakan argumen fRequest . FRequest untuk opsi pertama akan ODBC_CONFIG_DRIVER_MAX+1, dan opsi tambahan akan bertambah 1 dari nilai tersebut. Argumen apa pun yang diperlukan oleh driver untuk fungsi tersebut harus disediakan dalam string null-terminated yang diteruskan dalam argumen lpszArgs . Driver yang menyediakan fungsionalitas tersebut harus mempertahankan tabel opsi khusus driver. Opsi harus sepenuhnya didokumenkan dalam dokumentasi driver. Penulis aplikasi yang menggunakan opsi khusus driver harus menyadari bahwa penggunaan ini akan membuat aplikasi kurang dapat dioperasikan.

Mengatur Batas Waktu Pengumpulan Koneksi

Properti batas waktu pengumpulan koneksi dapat diatur ketika Anda mengatur konfigurasi driver. SQLConfigDriver dipanggil dengan fRequest ODBC_CONFIG_DRIVER dan lpszArgs diatur ke CPTimeout. CPTimeout menentukan periode waktu koneksi dapat tetap berada di kumpulan koneksi tanpa digunakan. Ketika batas waktu berakhir, koneksi ditutup dan dihapus dari kumpulan. Batas waktu default adalah 60 detik.

Ketika SQLConfigDriver dipanggil dengan fRequest diatur ke ODBC_INSTALL_DRIVER atau ODBC_REMOVE_DRIVER, Manajer Driver memuat DLL penyiapan driver yang sesuai dan memanggil fungsi ConfigDriver . Ketika SQLConfigDriver dipanggil dengan fRequest ODBC_CONFIG_DRIVER, semua pemrosesan dilakukan di penginstal ODBC, sehingga DLL penyiapan driver tidak harus dimuat.

Pesan

Rutinitas penyiapan driver dapat mengirim pesan teks ke aplikasi sebagai string yang dihentikan null di buffer lpszMsg . Pesan akan dipotong menjadi cbMsgMax dikurangi karakter penghentian null oleh fungsi ConfigDriver jika lebih besar dari atau sama dengan karakter cbMsgMax .

Untuk informasi tentang Lihat
Menambahkan, memodifikasi, atau menghapus driver ConfigDriver(dalam DLL penyetelan)
Menghapus sumber data default SQLRemoveDefaultDataSource