Handling Database Engine Errors
Wiele błędów przez SQL Server Database Engine może być przechwycone i rozwiązany programowo. Funkcje obsługi błędów są udostępniane przez Transact-SQL język i przez dostępu do danych aplikacji programistyczne interfejsy (API), które aplikacje korzystają z dostępu do danych przechowywanych w Database Engine.
Błędy z Database Engine można obsługiwać na dwóch poziomach:
Błędy mogą być obsługiwane w Database Engine Dodając kod obsługi błędów Transact-SQL instancje, procedur przechowywanych, wyzwalaczy lub funkcje zdefiniowane przez użytkownika.
Błędy mogą być zwracane do aplikacji wywołującej i obsługiwane w kodzie aplikacji.Każdy z interfejsów API, które aplikacje używają do uzyskania dostępu Database Engine udostępnia mechanizmy przekazywania informacji o błędzie do aplikacji.
Temat |
Description |
---|---|
Co Database Engine Błąd zawiera następujące atrybuty: błędy o numerach, ciągów wiadomości, wskaźnik ważności, stan, nazwy procedury oraz numer wiersza. |
|
Transact-SQL Kod może pobierać informacje o błędach ERROR_LINE, ERROR_MESSAGE, ERROR_NUMBER, ERROR_PROCEDURE, ERROR_SEVERITY, ERROR_STATE i funkcje @@ błąd. |
|
Błędy procesu Transact-SQL kod przy użyciu TRY…CATCH tworzyć podobne do funkcji obsługi wyjątków w języku Microsoft Visual C++ i Visual C#. Po wykryciu wystąpienia błędu w blok TRY kontrola jest przekazywana do blok CATCH, gdzie mogą być przetwarzane. |
|
Błędy procesu Transact-SQL kod przy użyciu TRY…CATCH tworzyć podobne do funkcji obsługi wyjątków w języku Microsoft Visual C++ i Visual C#. Po wykryciu wystąpienia błędu w blok TRY kontrola jest przekazywana do blok CATCH, gdzie mogą być przetwarzane. |
|
Instrukcja RAISERROR można podnieść zdefiniowanych przez użytkownika błędów.To można również z blok CATCH do przekazywania do błędów aplikacji w blok CATCH. |
|
Instrukcja PRINT może służyć do zwracania wiadomości przez użytkownika do aplikacji. |
|
We wcześniejszych wersjach SQL Server, funkcja @@ błędu to podstawowy sposób wykrywania błędów Transact-SQL instrukcje. Konstrukcje TRY…CATCH zapewniają udoskonalone funkcje. |
|
Każdego z danych dostęp do interfejsów API, takie jak obiekty ActiveX Data Objects (ADO), OLE DB i Open Database Connectivity (ODBC), mają mechanizmów za zgłoszenie do aplikacji, informacje o błędzie otrzymanych od Database Engine. |
|
Database Engine errors and user-defined error messages are raised with severities from 1 to 25.sp_addmessage and RAISERROR can be used to generate user-defined error messages. |