SQLGetDiagField

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiAzure Synapse AnalyticsAnalytics Platform System (PDW)

SQL Server Native Client ODBC sürücüsü, SQLGetDiagField için aşağıdaki ek tanı alanlarını belirtir. Bu alanlar, SQL Server uygulamaları için zengin hata raporlamasını destekler ve bağlı ODBC bağlantı kolları ile ODBC ifade tutamaçlarında oluşturulan tüm tanı kayıtlarında mevcuttur. Alanlar sqlncli.h içinde tanımlanmıştır.

Tanı kayıt alanı Description
SQL_DIAG_SS_LINE Bir hata oluşturan bir işlemin satır numarasını bildirir. SQL_DIAG_SS_LINE değeri ancak SQL_DIAG_SS_PROCNAME bir değer döndürdüğünde anlamlıdır. Değer, imzasız, 16 bitlik bir tam sayı olarak döner.
SQL_DIAG_SS_MSGSTATE Bir hata mesajının durumu. Hata mesajı durumu hakkında bilgi için bkz. RAISERROR. Değer, imzalı, 32-bit tam sayı olarak döner.
SQL_DIAG_SS_PROCNAME Uygunsa hata oluşturan saklanan prosedürün adı. Değer bir karakter dizisi olarak döner. Dizinin uzunluğu (karakter olarak) SQL Server'ın sürümüne bağlıdır. Bu, SQLGetInfo çağrılıp SQL_MAX_PROCEDURE_NAME_LEN için değer talep edilmesiyle belirlenebilir.
SQL_DIAG_SS_SEVERITY İlgili hata mesajının şiddet seviyesi. Değer, imzalı, 32-bit tam sayı olarak döner.
SQL_DIAG_SS_SRVNAME Hatanın meydana geldiği sunucunun adı. Değer bir karakter dizisi olarak döner. Dizinin uzunluğu (karakter olarak) sqlncli.h'deki SQL_MAX_SQLSERVERNAME makrosu tarafından tanımlanır.

SQL Server özgü tanı alanları, karakter verisini içeren SQL_DIAG_SS_PROCNAME ve SQL_DIAG_SS_SRVNAME, bu verileri istemciye null sonlandırılmış, ANSI veya Unicode dizileri olarak döndürür. Gerekirse, karakter sayısı karakter genişliğine göre ayarlanmalıdır. Alternatif olarak, doğru program değişken uzunluğunu sağlamak için TCHAR veya SQLTCHAR gibi taşınabilir bir C veri tipi de kullanılabilir.

SQL Server Native Client ODBC sürücüsü, son deneme SQL Server ifadesini tanımlayan aşağıdaki ek dinamik fonksiyon kodlarını bildirir. Dinamik fonksiyon kodu, tanı kayıt setinin başlığında (kayıt 0) döner ve bu nedenle her çalıştırmada (başarılı ya da başarılı olmasa) kullanılabilir.

Dinamik fonksiyon kodu Source
SQL_DIAG_DFC_SS_ALTER_DATABASE ALTER DATABASE açıklama
SQL_DIAG_DFC_SS_CHECKPOINT CHECKPOINT açıklaması
SQL_DIAG_DFC_SS_CONDITION Hata bir ifadenin WHERE veya HAVING cümlelerinde ortaya çıktı.
SQL_DIAG_DFC_SS_CREATE_DATABASE CREATE DATABASE açıklama
SQL_DIAG_DFC_SS_CREATE_DEFAULT CREATE DEFAULT açıklama
SQL_DIAG_DFC_SS_CREATE_PROCEDURE CREATE PROCEDURE açıklama
SQL_DIAG_DFC_SS_CREATE_RULE CREATE RULE açıklama
SQL_DIAG_DFC_SS_CREATE_TRIGGER CREATE TRIGGER açıklama
SQL_DIAG_DFC_SS_CURSOR_DECLARE DECLARE CURSOR ifadesi
SQL_DIAG_DFC_SS_CURSOR_OPEN OPEN deyimi
SQL_DIAG_DFC_SS_CURSOR_FETCH FETCH deyimi
SQL_DIAG_DFC_SS_CURSOR_CLOSE CLOSE deyimi
SQL_DIAG_DFC_SS_DEALLOCATE_CURSOR DEALLOCATE ifadesi
SQL_DIAG_DFC_SS_DBCC DBCC açıklaması
SQL_DIAG_DFC_SS_DENY DENY açıklama
SQL_DIAG_DFC_SS_DROP_DATABASE DROP DATABASE açıklama
SQL_DIAG_DFC_SS_DROP_DEFAULT DROP DEFAULT açıklama
SQL_DIAG_DFC_SS_DROP_PROCEDURE DROP PROCEDURE açıklama
SQL_DIAG_DFC_SS_DROP_RULE DROP RULE açıklama
SQL_DIAG_DFC_SS_DROP_TRIGGER DROP TRIGGER açıklama
SQL_DIAG_DFC_SS_DUMP_DATABASE BACKUP veya DUMP DATABASE ifadesi
SQL_DIAG_DFC_SS_DUMP_TABLE DUMP TABLE ifadesi
SQL_DIAG_DFC_SS_DUMP_TRANSACTION BACKUP veya DÖKÜM IŞLEM beyanını da var. Ayrıca chkpt. veritabanı üzerindeki trunc. log seçeneği açıksa, CHECKPOINT ifadesi için de geri gönderilir.
SQL_DIAG_DFC_SS_GOTO GOTO akış kontrolü ifadesi
SQL_DIAG_DFC_SS_INSERT_BULK INSERT BULK ifadesi
SQL_DIAG_DFC_SS_KILL ÖLDÜRME ifadesi
SQL_DIAG_DFC_SS_LOAD_DATABASE LOAD veya RESTOREDATABASE beyanname
SQL_DIAG_DFC_SS_LOAD_HEADERONLY LOAD veya RESTORE HEADERONLY beyanname
SQL_DIAG_DFC_SS_LOAD_TABLE YÜKLEME TABLE beyanı
SQL_DIAG_DFC_SS_LOAD_TRANSACTION LOAD veya RESTORE TRANSACTION ifadesi
SQL_DIAG_DFC_SS_PRINT YAZMA açıklaması
SQL_DIAG_DFC_SS_RAISERROR RAISERROR ifadesi
SQL_DIAG_DFC_SS_READTEXT READTEXT açıklaması
SQL_DIAG_DFC_SS_RECONFIGURE RECONFIGURE ifadesi
SQL_DIAG_DFC_SS_RETURN RETURN akış kontrolü ifadesi
SQL_DIAG_DFC_SS_SELECT_INTO SELECT INTO STATEMENT
SQL_DIAG_DFC_SS_SET SET ifadesi (genel, tüm seçenekler)
SQL_DIAG_DFC_SS_SET_IDENTITY_INSERT SET IDENTITY_INSERT açıklama
SQL_DIAG_DFC_SS_SET_ROW_COUNT SET ROWCOUNT açıklama
SQL_DIAG_DFC_SS_SET_STATISTICS SET SET STATISTICS IO veya SETSET STATISTICS TIME ifadeler
SQL_DIAG_DFC_SS_SET_TEXTSIZE SET TEXTSIZE açıklama
SQL_DIAG_DFC_SS_SETUSER SETUSER açıklama
SQL_DIAG_DFC_SS_SET_XCTLVL SET TRANSACTION ISOLATION LEVEL açıklama
SQL_DIAG_DFC_SS_SHUTDOWN KAPATMA BEYANİ
SQL_DIAG_DFC_SS_TRANS_BEGIN TRAN açıklamasına BAŞLA
SQL_DIAG_DFC_SS_TRANS_COMMIT COMMIT TRAN ifadesi
SQL_DIAG_DFC_SS_TRANS_PREPARE Dağıtık bir işlem yapmaya hazırlanın
SQL_DIAG_DFC_SS_TRANS_ROLLBACK ROLLBACK TRAN açıklaması
SQL_DIAG_DFC_SS_TRANS_SAVE SAVE TRAN açıklaması
SQL_DIAG_DFC_SS_TRUNCATE_TABLE TRUNCATE TABLE açıklama
SQL_DIAG_DFC_SS_UPDATE_STATISTICS UPDATE UPDATE STATISTICS Açıklama
SQL_DIAG_DFC_SS_UPDATETEXT GÜNCELLEMEMETIN açıklaması
SQL_DIAG_DFC_SS_USE USE ifadesi
SQL_DIAG_DFC_SS_WAITFOR WAITFOR Control-of-flow ifadesi
SQL_DIAG_DFC_SS_WRITETEXT WRITETEXT ifadesi

SQLGetDiagField ve Table-Valued Parametreleri

SQLGetDiagField, iki tanı alanını almak için kullanılabilir: SQL_DIAG_SS_TABLE_COLUMN_NUMBER ve SQL_DIAG_SS_TABLE_ROW_NUMBER. Bu alanlar, tanı kaydıyla ilgili hata veya uyarıya hangi değerin sebep olduğunu belirlemenize yardımcı olur.

Tablo değerli parametreler hakkında daha fazla bilgi için Table-Valued Parametreleri (ODBC) bölümüne bakınız.

Ayrıca Bkz.

SQLGetDiagField Fonksiyonu
ODBC API Uygulama Ayrıntıları