ISQLServerErrorInfo::GetErrorInfo (Penyedia OLE DB Klien Asli)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System (PDW)

Penting

SQL Server Native Client (sering disingkat SNAC) telah dihapus dari SQL Server 2022 (16.x) dan SQL Server Management Studio 19 (SSMS). Penyedia SQL Server Native Client OLE DB (SQLNCLI atau SQLNCLI11) dan Penyedia Microsoft OLE DB warisan untuk SQL Server (SQLOLEDB) tidak direkomendasikan untuk pengembangan baru. Beralih ke Microsoft OLE DB Driver (MSOLEDBSQL) baru untuk SQL Server ke depannya.

Mengembalikan pointer ke penyedia SQL Server Native Client OLE DB struktur SSERRORINFO yang berisi detail kesalahan SQL Server.

Penyedia SQL Server Native Client OLE DB menentukan antarmuka kesalahan ISQLServerErrorInfo . Antarmuka ini mengembalikan detail dari kesalahan SQL Server, termasuk tingkat keparahan dan statusnya.

Sintaks

  
HRESULT GetErrorInfo(  
   SSERRORINFO**ppSSErrorInfo,  
   OLECHAR**ppErrorStrings);  

Argumen

ppSSErrorInfo[out]
Penunjuk ke struktur SSERRORINFO. Jika metode gagal atau tidak ada informasi SQL Server yang terkait dengan kesalahan, penyedia tidak mengalokasikan memori apa pun, dan memastikan bahwa argumen ppSSErrorInfo adalah pointer null pada output.

ppErrorStrings[out]
Penunjuk ke penunjuk string karakter Unicode. Jika metode gagal atau tidak ada informasi SQL Server yang terkait dengan kesalahan, penyedia tidak mengalokasikan memori apa pun, dan memastikan bahwa argumen ppErrorStrings adalah pointer null pada output. Membebaskan argumen ppErrorStrings dengan metode IMalloc::Free membebaskan tiga anggota string individual dari struktur SSERRORINFO yang dikembalikan, karena memori dialokasikan dalam blok.

Mengembalikan Nilai Kode

S_OK
Metode berhasil.

E_INVALIDARG
Argumen ppSSErrorInfo atau ppErrorStrings adalah NULL.

E_OUTOFMEMORY
Penyedia SQL Server Native Client OLE DB tidak dapat mengalokasikan memori yang cukup untuk menyelesaikan permintaan.

Keterangan

Penyedia SQL Server Native Client OLE DB mengalokasikan memori untuk string SSERRORINFO dan OLECHAR yang dikembalikan melalui pointer yang diteruskan oleh konsumen. Konsumen harus membatalkan alokasi memori ini dengan menggunakan metode IMalloc::Free ketika tidak lagi memerlukan akses ke data kesalahan.

Struktur SSERRORINFO didefinisikan sebagai berikut:

typedef struct tagSSErrorInfo  
   {  
   LPOLESTR pwszMessage;  
   LPOLESTR pwszServer;  
   LPOLESTR pwszProcedure;  
   LONG lNative;  
   BYTE bState;  
   BYTE bClass;  
   WORD wLineNumber;  
   }  
SSERRORINFO;  
Anggota Deskripsi
pwszMessage Pesan kesalahan dari SQL Server. Pesan dikembalikan melalui metode IErrorInfo::GetDescription .
pwszServer Nama instans SQL Server tempat kesalahan terjadi.
pwszProcedure Nama prosedur tersimpan yang menghasilkan kesalahan jika kesalahan terjadi dalam prosedur tersimpan; jika tidak, string kosong.
lNative Nomor kesalahan SQL Server. Nomor kesalahan identik dengan yang dikembalikan dalam parameter plNativeError dari metode ISQLErrorInfo::GetSQLInfo .
bState Status kesalahan SQL Server.
bClass Tingkat keparahan kesalahan SQL Server.
wLineNumber Jika berlaku, baris prosedur tersimpan SQL Server yang menghasilkan pesan kesalahan. Jika tidak ada prosedur yang terlibat, nilai defaultnya adalah 1.

Penunjuk dalam alamat referensi struktur dalam string yang dikembalikan dalam argumen ppErrorStrings .

Lihat Juga

RAISERROR (Transact-SQL)