SqlError Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Zbiera informacje istotne dla ostrzeżenia lub błędu zwróconego przez SQL Server.
public ref class SqlError sealed
[System.Serializable]
public sealed class SqlError
public sealed class SqlError
[<System.Serializable>]
type SqlError = class
type SqlError = class
Public NotInheritable Class SqlError
- Dziedziczenie
-
SqlError
- Atrybuty
Przykłady
Poniższy przykład przedstawia każdy SqlError z nich w kolekcji SqlErrorCollection .
using Microsoft.Data.SqlClient;
using System.Text;
class Program
{
static void Main()
{
string s = GetConnectionString();
ShowSqlException(s);
Console.ReadLine();
}
public static void ShowSqlException(string connectionString)
{
string queryString = "EXECUTE NonExistantStoredProcedure";
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand command = new SqlCommand(queryString, connection);
try
{
command.Connection.Open();
command.ExecuteNonQuery();
}
catch (SqlException ex)
{
DisplaySqlErrors(ex);
}
}
}
private static void DisplaySqlErrors(SqlException exception)
{
for (int i = 0; i < exception.Errors.Count; i++)
{
Console.WriteLine("Index #" + i + "\n" +
"Error: " + exception.Errors[i].ToString() + "\n");
}
Console.ReadLine();
}
static private string GetConnectionString()
{
// To avoid storing the connection string in your code,
// you can retrieve it from a configuration file.
return "Data Source=(local);Initial Catalog=AdventureWorks;"
+ "Integrated Security=SSPI";
}
}
Uwagi
Ta klasa jest tworzona przez dostawcę danych .NET Framework dla SQL Server w przypadku wystąpienia błędu. Wystąpienie klasy SqlError jest tworzone i zarządzane przez SqlErrorCollectionklasę SqlException .
Komunikaty o poziomie ważności 10 lub mniejszym są informacyjne i wskazują problemy spowodowane błędami w informacjach, które wprowadzono przez użytkownika. Poziomy ważności od 11 do 16 są generowane przez użytkownika i mogą być poprawiane przez użytkownika. Poziomy ważności od 17 do 25 wskazują błędy oprogramowania lub sprzętu. Gdy wystąpi błąd poziomu 17, 18 lub 19, możesz kontynuować pracę, chociaż może nie być w stanie wykonać określonej instrukcji.
Pozostaje SqlConnection otwarty, gdy poziom ważności wynosi 19 lub mniej. Gdy poziom ważności wynosi 20 lub więcej, serwer zwykle zamyka wartość SqlConnection. Jednak użytkownik może ponownie otworzyć połączenie i kontynuować. W obu przypadkach SqlException element jest generowany przez metodę wykonującą polecenie .
Aby uzyskać więcej informacji na temat błędów generowanych przez SQL Server, zobacz Przyczyna i rozwiązywanie błędów aparatu bazy danych. Aby uzyskać więcej informacji na temat poziomów ważności, zobacz Ważność błędu aparatu bazy danych.
Właściwości
Class |
Pobiera poziom ważności błędu zwróconego z SQL Server. |
LineNumber |
Pobiera numer wiersza w partii poleceń Języka Transact-SQL lub procedurę składowaną zawierającą błąd. |
Message |
Pobiera tekst opisujący błąd. |
Number |
Pobiera liczbę identyfikującą typ błędu. |
Procedure |
Pobiera nazwę procedury składowanej lub zdalnego wywołania procedury (RPC), które wygenerowało błąd. |
Server |
Pobiera nazwę wystąpienia SQL Server, które wygenerowało błąd. |
Source |
Pobiera nazwę dostawcy, który wygenerował błąd. |
State |
Niektóre komunikaty o błędach można zgłaszać w wielu punktach w kodzie aparatu bazy danych. Na przykład można zgłaszać błąd 1105 dla kilku różnych warunków. Każdy konkretny warunek, który zgłasza błąd, przypisuje unikatowy kod stanu. |
Metody
ToString() |
Pobiera pełny tekst komunikatu o błędzie. |