Detail Kesalahan SQL Server
Berlaku untuk: SQL Server Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System (PDW)
Driver OLE DB untuk SQL Server menentukan antarmuka kesalahan khusus penyedia ISQLServerErrorInfo. Antarmuka mengembalikan detail lebih lanjut tentang kesalahan SQL Server dan berharga ketika eksekusi perintah atau operasi set baris gagal.
Ada dua cara untuk mendapatkan akses ke antarmuka ISQLServerErrorInfo .
Konsumen dapat memanggil IErrorRecords::GetCustomerErrorObject untuk mendapatkan pointer ISQLServerErrorInfo , seperti yang ditunjukkan dalam sampel kode berikut. (Tidak perlu mendapatkan ISQLErrorInfo.) ISQLErrorInfo dan ISQLServerErrorInfo adalah objek kesalahan OLE DB kustom, dengan ISQLServerErrorInfo menjadi antarmuka yang digunakan untuk mendapatkan informasi kesalahan server, termasuk detail seperti nama prosedur dan nomor baris.
// Get the SQL Server custom error object.
if(FAILED(hr=pIErrorRecords->GetCustomErrorObject(
nRec, IID_ISQLServerErrorInfo,
(IUnknown**)&pISQLServerErrorErrorInfo)))
Cara lain untuk mendapatkan penunjuk ISQLServerErrorInfo adalah dengan memanggil metode QueryInterface pada pointer ISQLErrorInfo yang sudah diperoleh. Perhatikan bahwa karena ISQLServerErrorInfo berisi superset informasi yang tersedia dari ISQLErrorInfo, masuk akal untuk langsung pergi ke ISQLServerErrorInfo melalui GetCustomerErrorObject.
Antarmuka ISQLServerErrorInfo mengekspos satu fungsi anggota, ISQLServerErrorInfo::GetErrorInfo. Fungsi mengembalikan penunjuk ke struktur SSERRORINFO dan penunjuk ke buffer string. Kedua pointer mereferensikan memori konsumen harus membatalkan alokasi dengan menggunakan metode IMalloc::Free .
Anggota struktur SSERRORINFO ditafsirkan oleh konsumen sebagai berikut.
Anggota | Deskripsi |
---|---|
pwszMessage | SQL Server pesan kesalahan. Identik dengan string yang dikembalikan di IErrorInfo::GetDescription. |
pwszServer | Nama instans SQL Server untuk sesi tersebut. |
pwszProcedure | Jika sesuai, nama prosedur tempat kesalahan berasal. String kosong jika tidak. |
LNative | SQL Server nomor kesalahan asli. Identik dengan nilai yang dikembalikan dalam parameter plNativeErrorISQLErrorInfo::GetSQLInfo. |
bState | Status pesan kesalahan SQL Server. |
bClass | Tingkat keparahan pesan kesalahan SQL Server. |
wLineNumber | Jika berlaku, nomor baris prosedur tersimpan tempat kesalahan terjadi. |
Lihat juga
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