Fungsi SQLInstallerError
Kesesuaian
Versi diperkenalkan: ODBC 3.0
Ringkasan
SQLInstallerError mengembalikan informasi kesalahan atau status untuk fungsi penginstal ODBC.
Sintaks
RETCODE SQLInstallerError(
WORD iError,
DWORD * pfErrorCode,
LPSTR lpszErrorMsg,
WORD cbErrorMsgMax,
WORD * pcbErrorMsg);
Argumen
iError
[Input] Nomor rekaman kesalahan. Angka yang valid adalah dari 1 hingga 8.
pfErrorCode
[Output] Kode kesalahan penginstal. (Untuk informasi selengkapnya, lihat "Komentar.")
lpszErrorMsg
[Output] Penunjuk ke penyimpanan untuk teks pesan kesalahan.
cbErrorMsgMax
[Input] Panjang maksimum buffer szErrorMsg . Ini harus kurang dari atau sama dengan SQL_MAX_MESSAGE_LENGTH dikurangi karakter penghentian null.
cbErrorMsgMax
[Input] Panjang maksimum buffer szErrorMsg . Ini harus kurang dari atau sama dengan SQL_MAX_MESSAGE_LENGTH dikurangi karakter penghentian null.
pcbErrorMsg
[Output] Penunjuk ke jumlah total byte (tidak termasuk karakter penghentian null) yang tersedia untuk dikembalikan di lpszErrorMsg. Jika jumlah byte yang tersedia untuk dikembalikan lebih besar dari atau sama dengan cbErrorMsgMax, teks pesan kesalahan di lpszErrorMsg dipotong menjadi cbErrorMsgMax dikurangi byte karakter null-termination. Argumen pcbErrorMsg dapat berupa penunjuk null.
Kembali
SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_NO_DATA, atau SQL_ERROR.
Diagnostik
SQLInstallerError tidak memposting nilai kesalahan untuk dirinya sendiri. SQLInstallerError mengembalikan SQL_NO_DATA ketika tidak dapat mengambil informasi kesalahan apa pun (dalam hal ini pfErrorCode tidak terdefinisi). Jika SQLInstallerError tidak dapat mengakses nilai kesalahan karena alasan apa pun yang biasanya mengembalikan SQL_ERROR, SQLInstallerError mengembalikan SQL_ERROR tetapi tidak memposting nilai kesalahan apa pun. Jika Anda tidak tahu panjang string peringatan (lpszErrorMsg), Anda dapat mengatur lpszErrorMsg ke NULL dan memanggil SQLInstallerError. SQLInstallerError kemudian akan mengembalikan panjang string peringatan di cbErrorMsgMax. Jika buffer untuk pesan kesalahan terlalu pendek, SQLInstallerError mengembalikan SQL_SUCCESS_WITH_INFO dan mengembalikan nilai pfErrorCode yang benar untuk SQLInstallerError.
Untuk menentukan apakah pemotongan terjadi dalam pesan kesalahan, aplikasi dapat membandingkan nilai dalam argumen cbErrorMsgMax dengan panjang aktual teks pesan yang ditulis ke argumen pcbErrorMsg . Jika pemotongan terjadi, panjang buffer yang benar harus dialokasikan untuk lpszErrorMsg dan SQLInstallerError harus dipanggil lagi dengan rekaman iError yang sesuai.
Komentar
Aplikasi memanggil SQLInstallerError ketika panggilan sebelumnya ke fungsi penginstal ODBC mengembalikan FALSE. Fungsi penyiapan penginstal dan penginstal ODBC atau penerjemah memposting kesalahan nol atau lebih hanya ketika fungsi gagal (mengembalikan FALSE); oleh karena itu, aplikasi memanggil SQLInstallerError hanya setelah fungsi penginstal ODBC gagal.
Antrean kesalahan penginstal ODBC dibersihkan setiap kali fungsi alat penginstal baru dipanggil. Oleh karena itu, aplikasi tidak dapat mengharapkan untuk mengambil kesalahan untuk fungsi selain dari panggilan fungsi penginstal terakhir.
Untuk mengambil beberapa kesalahan untuk panggilan fungsi, aplikasi memanggil SQLInstallerError beberapa kali.
Ketika tidak ada informasi tambahan, SQLInstallerError mengembalikan SQL_NO_DATA, argumen pfErrorCode tidak terdefinisi, argumen pcbErrorMsg sama dengan 0, dan argumen lpszErrorMsg berisi karakter penghentian null tunggal (kecuali argumen cbErrorMsgMax sama dengan 0).
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk