Bagikan melalui


Fungsi SQLRemoveDriver

Kesesuaian
Versi diperkenalkan: ODBC 3.0

Ringkasan
SQLRemoveDriver mengubah atau menghapus informasi tentang driver dari entri Odbcinst.ini dalam informasi sistem.

Sintaks

  
BOOL SQLRemoveDriver(  
     LPCSTR   lpszDriver,  
     BOOL     fRemoveDSN,  
     LPDWORD  lpdwUsageCount);  

Argumen

lpszDriver
[Input] Nama driver sebagaimana terdaftar dalam kunci Odbcinst.ini dari informasi sistem.

fRemoveDSN
[Input] Nilai yang valid adalah:

TRUE: Hapus DSN yang terkait dengan driver yang ditentukan dalam lpszDriver. FALSE: Jangan hapus DSN yang terkait dengan driver yang ditentukan dalam lpszDriver.

lpdwUsageCount
[Output] Jumlah penggunaan driver setelah fungsi ini dipanggil.

Kembali

Fungsi mengembalikan TRUE jika berhasil, FALSE jika gagal. Jika tidak ada entri dalam informasi sistem ketika fungsi ini dipanggil, fungsi mengembalikan FALSE.

Diagnostik

Saat SQLRemoveDriver 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_COMPONENT_NOT_FOUND Komponen tidak ditemukan dalam registri Alat penginstal tidak dapat menghapus informasi pengandar karena tidak ada di registri atau tidak dapat ditemukan dalam registri.
ODBC_ERROR_INVALID_NAME Nama pengandar atau penerjemah tidak valid Argumen lpszDriver tidak valid.
ODBC_ERROR_USAGE_UPDATE_FAILED Tidak dapat menaikkan atau mengurangi jumlah penggunaan komponen Alat penginstal gagal mengurangi jumlah penggunaan driver.
ODBC_ERROR_REQUEST_FAILED Permintaan gagal Argumen fRemoveDSN adalah TRUE; namun, satu atau beberapa DSN tidak dapat dihapus. Panggilan ke SQLConfigDriver dengan permintaan ODBC_REMOVE_DRIVER gagal.
ODBC_ERROR_OUT_OF_MEM Kehabisan memori Alat penginstal tidak dapat melakukan fungsi karena kurangnya memori.

Komentar

SQLRemoveDriver melengkapi fungsi SQLInstallDriverEx dan memperbarui jumlah penggunaan komponen dalam informasi sistem. Fungsi ini harus dipanggil hanya dari aplikasi penyiapan.

SQLRemoveDriver akan mengurangi nilai jumlah penggunaan komponen sebesar 1. Jika jumlah penggunaan komponen masuk ke 0, hal berikut akan terjadi:

  1. Fungsi SQLConfigDriver dengan opsi ODBC_REMOVE_DRIVER akan dipanggil. Jika opsi fRemoveDSN diatur ke TRUE, fungsi ConfigDSN memanggil SQLRemoveDSNFromIni untuk menghapus semua sumber data yang terkait dengan driver yang ditentukan di lpszDriver.Jika opsi fRemoveDSN diatur ke FALSE, sumber data tidak akan dihapus.

  2. Entri driver dalam informasi sistem akan dihapus. Entri driver berada di lokasi informasi sistem berikut, di bawah nama driver:

    HKEY_LOCAL_MACHINE

    SOFTWARE

    ODBC

    Odbcinst.ini

SQLRemoveDriver tidak benar-benar menghapus file apa pun. Program panggilan bertanggung jawab untuk menghapus file dan mempertahankan jumlah penggunaan file. Hanya setelah jumlah penggunaan komponen dan jumlah penggunaan file mencapai nol adalah file yang dihapus secara fisik. Beberapa file dalam komponen dapat dihapus, dan yang lain tidak dihapus, tergantung pada apakah file digunakan oleh aplikasi lain yang telah meningkatkan jumlah penggunaan file.

SQLRemoveDriver juga disebut sebagai bagian dari proses pemutakhiran. Jika aplikasi mendeteksi bahwa aplikasi harus melakukan peningkatan dan sebelumnya telah menginstal driver, driver harus dihapus dan kemudian diinstal ulang. SQLRemoveDriver harus terlebih dahulu dipanggil untuk mengurangi jumlah penggunaan komponen, lalu SQLInstallDriverEx harus dipanggil untuk menaikkan jumlah penggunaan komponen. Program penyetelan aplikasi harus mengganti file lama dengan file baru. Jumlah penggunaan file akan tetap sama, dan aplikasi lain yang menggunakan file versi yang lebih lama sekarang akan menggunakan versi yang lebih baru.

Untuk informasi tentang Lihat
Menambahkan, memodifikasi, atau menghapus driver ConfigDriver (di DLL Penyiapan)
Menambahkan, memodifikasi, atau menghapus driver SQLConfigDriver
Menginstal driver SQLInstallDriverEx