SqlError Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Sammelt Informationen zu einer von SQL Server zurückgegebenen Warnung oder einem Fehler.
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
- Vererbung
-
SqlError
- Attribute
Beispiele
Im folgenden Beispiel werden alle SqlError innerhalb der SqlErrorCollection Auflistung angezeigt.
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";
}
}
Hinweise
Diese Klasse wird vom .NET Framework-Datenanbieter für SQL Server erstellt, wenn ein Fehler auftritt. Eine Instanz von SqlError wird von erstellt und verwaltet, die SqlErrorCollectionwiederum von der SqlException -Klasse erstellt wird.
Meldungen mit einem Schweregrad von 10 oder darunter dienen rein der Information. Sie zeigen Probleme an, die durch fehlerhafte Benutzereingaben verursacht wurden. Schweregrade von 11 bis 16 werden vom Benutzer generiert und können vom Benutzer korrigiert werden. Schweregrade von 17 bis 25 zeigen Software- oder Hardwarefehler an. Wenn ein Fehler der Ebene 17, 18 oder 19 auftritt, können Sie weiter arbeiten, obwohl Sie möglicherweise keine bestimmte Anweisung ausführen können.
Die SqlConnection bleibt hergestellt, wenn der Schweregrad 19 oder darunter beträgt. Wenn der Schweregrad 20 oder größer ist, schließt der Server normalerweise die SqlConnection-Klasse. Die Benutzer können die Verbindung aber erneut öffnen und fortfahren. In beiden Fällen wird von der Methode, die den Befehl ausführt, eine SqlException generiert.
Weitere Informationen zu von SQL Server generierten Fehlern finden Sie unter Ursache und Lösung von Datenbank-Engine-Fehlern. Weitere Informationen zu Schweregraden finden Sie unter Schweregrade von Datenbank-Engine-Fehlern.
Eigenschaften
Class |
Ruft den Schweregrad des von SQL Server zurückgegebenen Fehlers ab. |
LineNumber |
Ruft die Zeilennummer im Transact-SQL-Befehlsbatch oder in der gespeicherten Prozedur ab, in der der Fehler aufgetreten ist. |
Message |
Ruft den Text ab, der den Fehler beschreibt. |
Number |
Ruft eine Nummer ab, die den Fehlertyp angibt. |
Procedure |
Ruft den Namen der gespeicherten Prozedur oder des Remoteprozeduraufrufs (RPC) ab, der diesen Fehler generiert hat. |
Server |
Ruft den Namen der Instanz von SQL Server ab, die den Fehler generiert hat. |
Source |
Ruft den Namen des Providers ab, der den Fehler generiert hat. |
State |
Einige Fehlermeldungen können für mehrere Elemente im Code für Datenbank-Engineausgelöst werden. So kann z. B. der Fehler 1105 aufgrund verschiedener Bedingungen ausgelöst werden. Jeder Bedingung, die einen Fehler auslöst, wird ein eindeutiger Statuscode zugewiesen. |
Methoden
ToString() |
Ruft den vollständigen Text der Fehlermeldung ab. |