Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Gdy aplikacja wywołuje funkcję ODBC, sterownik wykonuje tę funkcję i zwraca informacje diagnostyczne na dwa sposoby: Kod powrotny wskazuje ogólny sukces lub porażkę funkcji ODBC, a rekordy diagnostyczne dostarczają szczegółowych informacji o tej funkcji. Rekordy diagnostyczne obejmują rekord nagłówka oraz rekordy statusu. Przynajmniej jeden rekord diagnostyczny, czyli rekord nagłówka, jest zwracany nawet jeśli funkcja się powiedzie.
Informacje diagnostyczne są wykorzystywane podczas tworzenia do wykrywania błędów programistycznych, takich jak nieprawidłowe uchwyty czy błędy składniowe w zakodowanych na stałe instrukcjach SQL. Jest również używany w czasie działania do wykrywania błędów i ostrzeżeń w czasie działania, takich jak obcięcie danych, naruszenia reguł czy błędy składni w instrukcjach SQL wprowadzanych przez użytkownika. Logika programu jest zwykle oparta na kodach zwracanych.
Na przykład, po wywołaniu przez aplikację SQLFetch w celu pobrania wierszy w zbiorze wyników, kod zwrotny wskazuje, czy dotarli do końca zbioru wyników (SQL_NO_DATA), czy zwrócono komunikaty informacyjne (SQL_SUCCESS_WITH_INFO) lub czy wystąpił błąd (SQL_ERROR).
Jeśli sterownik ODBC SQL Server Native Client zwraca cokolwiek innego niż SQL_SUCCESS, aplikacja może wywołać SQLGetDiagRec, aby pobrać wszelkie komunikaty informacyjne lub błędne. Użyj SQLGetDiagRec , aby przewijać zestaw wiadomości w górę i w dół, jeśli jest więcej niż jedna wiadomość.
Kod powrotny SQL_INVALID_HANDLE zawsze wskazuje błąd programowania i nigdy nie powinien występować w czasie wykonywania. Wszystkie inne kody powrotne zawierają informacje o czasie wykonywania, chociaż SQL_ERROR mogą wskazywać błąd programowania.
Oryginalne Microsoft SQL Server natywne API, DB-Library dla C, pozwala aplikacji instalować funkcje obsługi błędów i wiadomości w odwołaniach, które zwracają błędy lub komunikaty. Niektóre instrukcje Transact-SQL, takie jak PRINT, RAISERROR, DBCC i SET, zwracają swoje wyniki do funkcji DB-Library obsługi wiadomości zamiast do zbioru wyników. Jednak API ODBC nie posiada takiej możliwości wywołań zwrotnych. Gdy sterownik ODBC klienta SQL Server wykryje wiadomości wracające od SQL Server, ustawia kod zwrotny ODBC na SQL_SUCCESS_WITH_INFO lub SQL_ERROR i zwraca wiadomość jako jeden lub więcej rekordów diagnostycznych. Dlatego aplikacja ODBC musi dokładnie przetestować te kody zwrotne i wywołać SQLGetDiagRec , aby pobrać dane wiadomości.
Informacje o błędach w śledzeniu można znaleźć w artykule Śledzenie dostępu do danych. Aby uzyskać informacje o ulepszeniach śledzenia błędów dodanych w SQL Server 2012 (11.x), zobacz Dostęp do informacji diagnostycznych w Extended Events Log.