Share via


Hataları ve iletileri işleme

Bir uygulama odbc işlevini çağırdığında, sürücü işlevini yürütür ve tanılama bilgilerini iki şekilde verir: bir dönüş kodu genel başarı veya başarısızlık odbc işlevini gösterir ve Tanılama kayıtları, işlevi hakkında ayrıntılı bilgi sağlar. Tanılama kayıt üstbilgi kaydı ve durum kayıtları içerir. İşlev başarılı bile en az bir tanılama kaydı, üstbilgi kaydı döndürülür.

Tanılama bilgilerini geliştirme anda sql deyimleri kodlanmış geçersiz kolları gibi programlama hataları ve sözdizimi hatalarını yakalamak için kullanılır. O, zamanında da sql deyimlerinde kullanıcı tarafından girilen çalışma zamanı hataları ve Uyarıları, veri kesilmesi, kural ihlalleri ve sözdizimi hatalarını yakalamak için kullanılır. Program mantığı genellikle dönüş kodları dayanır.

Örneğin, bir uygulama sonra SQLFetch dönüş kodu bir sonuç kümesindeki satır almak için sonuç kümesinin sonunda (sql_no_data), herhangi bir bilgilendirme iletileri (SQL_SUCCESS_WITH_INFO) iade edilmiş veya bir hata oluştu (sql_error) ulaşıldı olup olmadığını gösterir.

Eğer SQL Serveryerel istemci odbc sürücüsü dışında bir sql_success döndürür, uygulama çağırabilirsiniz SQLGetDiagRec Al herhangi bir bilgi ya da hata iletileri. Kullanım SQLGetDiagRec birden fazla mesaj ise ayarla iletisi yukarı ve aşağı kaydırmak için.

Dönüş kodu SQL_INVALID_HANDLE her zaman bir programlama hatası gösterir ve zamanında asla karşılaşmak. sql_error bir programlama hatası gösterebilir, ancak tüm diğer dönüş kodları çalıştırma bilgileri sağlayın.

Orijinal Microsoft  SQL Serveryerli API, db-Library c, geri hata işleme yüklemek uygulama izin verir ve bu dönüş hataları veya iletileri ileti işleme fonksiyonları. Bazı Transact-SQLbaskı, RAISERROR, dbcc ve set gibi deyimleri sonuç kümesi yerine db Kitaplığı ileti işleyicisi işlevinin sonuçları dönmek. Ancak, odbc API böyle bir geri arama özelliğine sahiptir. Ne zaman SQL Servergeri gelen iletileri yerel istemci odbc sürücüsü algılar SQL Server, odbc kod SQL_SUCCESS_WITH_INFO veya sql_error olarak ayarlar ve ileti gibi bir veya daha fazla tanılama kayıtları döndürür. Bu nedenle, bir odbc uygulaması tekrar bu kodları ve arama dönmek için dikkatli bir şekilde sınamanız gerekir SQLGetDiagRec mesaj veri almak için.

İzleme hataları hakkında daha fazla bilgi için bkz: Veri erişim izleme. Ekledi hata izleme geliştirmeleri hakkında bilgi SQL Server 2012bakın Genişletilmiş olayları günlüğü tanılama bilgilerine erişme.

Bu Bölümde

Ayrıca bkz.

Kavramlar

SQL Server yerel istemci (ODBC)