Bagikan melalui


SQLGetDiagField

Berlaku untuk: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Driver ODBC Klien Asli SQL Server menentukan bidang diagnostik tambahan berikut untuk SQLGetDiagField. Bidang ini mendukung pelaporan kesalahan yang kaya untuk aplikasi SQL Server dan tersedia di semua catatan diagnostik yang dihasilkan pada handel koneksi ODBC yang terhubung dan penanganan pernyataan ODBC. Bidang didefinisikan dalam sqlncli.h.

Bidang rekaman diagnostik Deskripsi
SQL_DIAG_SS_LINE Melaporkan nomor baris prosedur tersimpan yang menghasilkan kesalahan. Nilai SQL_DIAG_SS_LINE bermakna hanya jika SQL_DIAG_SS_PROCNAME mengembalikan nilai. Nilai dikembalikan sebagai bilangan bulat 16-bit yang tidak ditandatangani.
SQL_DIAG_SS_MSGSTATE Status pesan kesalahan. Untuk informasi tentang status pesan kesalahan, lihat RAISERROR. Nilai dikembalikan sebagai bilangan bulat 32-bit yang ditandatangani.
SQL_DIAG_SS_PROCNAME Nama prosedur tersimpan yang menghasilkan kesalahan, jika sesuai. Nilai dikembalikan sebagai string karakter. Panjang string (dalam karakter) tergantung pada versi SQL Server. Ini dapat ditentukan dengan memanggil SQLGetInfo yang meminta nilai untuk SQL_MAX_PROCEDURE_NAME_LEN.
SQL_DIAG_SS_SEVERITY Tingkat keparahan pesan kesalahan terkait. Nilai dikembalikan sebagai bilangan bulat 32-bit yang ditandatangani.
SQL_DIAG_SS_SRVNAME Nama server tempat kesalahan terjadi. Nilai dikembalikan sebagai string karakter. Panjang string (dalam karakter) ditentukan oleh makro SQL_MAX_SQLSERVERNAME dalam sqlncli.h.

Bidang diagnostik khusus SQL Server yang berisi data karakter, SQL_DIAG_SS_PROCNAME dan SQL_DIAG_SS_SRVNAME, mengembalikan data tersebut ke klien sebagai string null dihentikan, ANSI, atau Unicode. Jika perlu, jumlah karakter harus disesuaikan dengan lebar karakter. Secara bergantian, jenis data C portabel seperti TCHAR atau SQLTCHAR dapat digunakan untuk memastikan panjang variabel program yang benar.

Driver ODBC Klien Asli SQL Server melaporkan kode fungsi dinamis tambahan berikut yang mengidentifikasi pernyataan SQL Server terakhir yang dicoba. Kode fungsi dinamis dikembalikan di header (rekaman 0) dari kumpulan catatan diagnostik dan oleh karena itu tersedia pada setiap eksekusi (berhasil atau tidak).

Kode fungsi dinamis Sumber
SQL_DIAG_DFC_SS_ALTER_DATABASE Pernyataan ALTER DATABASE
SQL_DIAG_DFC_SS_CHECKPOINT Pernyataan CHECKPOINT
SQL_DIAG_DFC_SS_CONDITION Kesalahan muncul dalam klausa WHERE atau HAVING dari pernyataan.
SQL_DIAG_DFC_SS_CREATE_DATABASE Pernyataan CREATE DATABASE
SQL_DIAG_DFC_SS_CREATE_DEFAULT Pernyataan CREATE DEFAULT
SQL_DIAG_DFC_SS_CREATE_PROCEDURE Pernyataan CREATE PROCEDURE
SQL_DIAG_DFC_SS_CREATE_RULE Pernyataan CREATE RULE
SQL_DIAG_DFC_SS_CREATE_TRIGGER Pernyataan CREATE TRIGGER
SQL_DIAG_DFC_SS_CURSOR_DECLARE MENDEKLARASIKAN pernyataan KURSOR
SQL_DIAG_DFC_SS_CURSOR_OPEN Pernyataan OPEN
SQL_DIAG_DFC_SS_CURSOR_FETCH Pernyataan FETCH
SQL_DIAG_DFC_SS_CURSOR_CLOSE Pernyataan CLOSE
SQL_DIAG_DFC_SS_DEALLOCATE_CURSOR Pernyataan DEALLOCATE
SQL_DIAG_DFC_SS_DBCC Pernyataan DBCC
SQL_DIAG_DFC_SS_DENY Pernyataan DENY
SQL_DIAG_DFC_SS_DROP_DATABASE Pernyataan DROP DATABASE
SQL_DIAG_DFC_SS_DROP_DEFAULT Pernyataan DROP DEFAULT
SQL_DIAG_DFC_SS_DROP_PROCEDURE Pernyataan DROP PROCEDURE
SQL_DIAG_DFC_SS_DROP_RULE Pernyataan DROP RULE
SQL_DIAG_DFC_SS_DROP_TRIGGER Pernyataan DROP TRIGGER
SQL_DIAG_DFC_SS_DUMP_DATABASE Pernyataan BACKUP atau DUMP DATABASE
SQL_DIAG_DFC_SS_DUMP_TABLE Pernyataan DUMP TABLE
SQL_DIAG_DFC_SS_DUMP_TRANSACTION Pernyataan TRANSAKSI CADANGAN atau DUMP. Juga dikembalikan untuk pernyataan CHECKPOINT jika opsi trunc. log pada chkpt. database aktif.
SQL_DIAG_DFC_SS_GOTO Pernyataan kontrol aliran GOTO
SQL_DIAG_DFC_SS_INSERT_BULK Pernyataan INSERT BULK
SQL_DIAG_DFC_SS_KILL Pernyataan KILL
SQL_DIAG_DFC_SS_LOAD_DATABASE Pernyataan LOAD atau RESTORE DATABASE
SQL_DIAG_DFC_SS_LOAD_HEADERONLY Memuat atau MEMULIHKAN pernyataan HEADERONLY
SQL_DIAG_DFC_SS_LOAD_TABLE Pernyataan LOAD TABLE
SQL_DIAG_DFC_SS_LOAD_TRANSACTION Pernyataan LOAD atau RESTORE TRANSACTION
SQL_DIAG_DFC_SS_PRINT Pernyataan PRINT
SQL_DIAG_DFC_SS_RAISERROR Pernyataan RAISERROR
SQL_DIAG_DFC_SS_READTEXT Pernyataan READTEXT
SQL_DIAG_DFC_SS_RECONFIGURE Pernyataan KONFIGURASI ULANG
SQL_DIAG_DFC_SS_RETURN Pernyataan kontrol aliran RETURN
SQL_DIAG_DFC_SS_SELECT_INTO Pernyataan SELECT INTO
SQL_DIAG_DFC_SS_SET Pernyataan SET (umum, semua opsi)
SQL_DIAG_DFC_SS_SET_IDENTITY_INSERT Set pernyataan IDENTITY_INSERT
SQL_DIAG_DFC_SS_SET_ROW_COUNT ATUR pernyataan ROWCOUNT
SQL_DIAG_DFC_SS_SET_STATISTICS MENGATUR pernyataan STATISTICS IO atau SET STATISTICS TIME
SQL_DIAG_DFC_SS_SET_TEXTSIZE ATUR pernyataan TEXTSIZE
SQL_DIAG_DFC_SS_SETUSER Pernyataan SETUSER
SQL_DIAG_DFC_SS_SET_XCTLVL MENETAPKAN pernyataan TINGKAT ISOLASI TRANSAKSI
SQL_DIAG_DFC_SS_SHUTDOWN Pernyataan SHUTDOWN
SQL_DIAG_DFC_SS_TRANS_BEGIN Pernyataan BEGIN TRAN
SQL_DIAG_DFC_SS_TRANS_COMMIT Pernyataan COMMIT TRAN
SQL_DIAG_DFC_SS_TRANS_PREPARE Bersiap untuk melakukan transaksi terdistribusi
SQL_DIAG_DFC_SS_TRANS_ROLLBACK Pernyataan ROLLBACK TRAN
SQL_DIAG_DFC_SS_TRANS_SAVE Pernyataan SAVE TRAN
SQL_DIAG_DFC_SS_TRUNCATE_TABLE Pernyataan TRUNCATE TABLE
SQL_DIAG_DFC_SS_UPDATE_STATISTICS Pernyataan UPDATE STATISTICS
SQL_DIAG_DFC_SS_UPDATETEXT Pernyataan UPDATETEXT
SQL_DIAG_DFC_SS_USE Pernyataan USE
SQL_DIAG_DFC_SS_WAITFOR Pernyataan control-of-flow WAITFOR
SQL_DIAG_DFC_SS_WRITETEXT Pernyataan WRITETEXT

Parameter SQLGetDiagField dan Table-Valued

SQLGetDiagField dapat digunakan untuk mengambil dua bidang diagnostik: SQL_DIAG_SS_TABLE_COLUMN_NUMBER dan SQL_DIAG_SS_TABLE_ROW_NUMBER. Bidang ini membantu Anda menentukan nilai mana yang menyebabkan kesalahan atau peringatan yang terkait dengan catatan diagnostik.

Untuk informasi selengkapnya tentang parameter bernilai tabel, lihat Parameter Bernilai Tabel (ODBC).

Lihat Juga

Fungsi SQLGetDiagField
Detail Implementasi ODBC API