SqlError SqlError SqlError SqlError Class

Definition

Sammelt Informationen zu einer von SQL Server zurückgegebenen Warnung oder einem Fehler.Collects information relevant to a warning or error returned by SQL Server.

public ref class SqlError sealed
[System.Serializable]
public sealed class SqlError
type SqlError = class
Public NotInheritable Class SqlError
Vererbung
SqlErrorSqlErrorSqlErrorSqlError
Attribute

Beispiele

Im folgenden Beispiel werden alle SqlError in der SqlErrorCollection -Auflistung angezeigt.The following example displays each SqlError within the SqlErrorCollection collection.

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();
}
Public Sub ShowSqlException(ByVal connectionString As String)
    Dim queryString As String = "EXECUTE NonExistantStoredProcedure"

    Using connection As New SqlConnection(connectionString)
        Dim command As New SqlCommand(queryString, connection)

        Try
            command.Connection.Open()
            command.ExecuteNonQuery()

        Catch ex As SqlException
            DisplaySqlErrors(ex)
        End Try
    End Using
End Sub

Private Sub DisplaySqlErrors(ByVal exception As SqlException)
    Dim i As Integer

    For i = 0 To exception.Errors.Count - 1
        Console.WriteLine("Index #" & i & ControlChars.NewLine & _
            "Error: " & exception.Errors(i).ToString() & ControlChars.NewLine)
    Next i
    Console.ReadLine()
End Sub

Hinweise

Diese Klasse wird von der .NET Framework Datenanbieter für SQL Server erstellt, wenn ein Fehler auftritt.This class is created by the .NET Framework Data Provider for SQL Server when an error occurs. Eine Instanz von SqlError wird von der SqlErrorCollectionerstellt und verwaltet, die wiederum von der SqlException -Klasse erstellt wird.An instance of SqlError is created and managed by the SqlErrorCollection, which in turn is created by the SqlException class.

Meldungen mit einem Schweregrad von 10 oder darunter dienen rein der Information. Sie zeigen Probleme an, die durch fehlerhafte Benutzereingaben verursacht wurden.Messages with a severity level of 10 or less are informational and indicate problems caused by mistakes in information that a user has entered. Die Schweregrade von 11 bis 16 werden vom Benutzer generiert und können vom Benutzer korrigiert werden.Severity levels from 11 through 16 are generated by the user, and can be corrected by the user. Schweregrade von 17 bis 25 zeigen Software- oder Hardwarefehler an.Severity levels from 17 through 25 indicate software or hardware errors. Wenn ein Fehler der Stufe 17, 18 oder 19 auftritt, können Sie die Arbeit fortsetzen, obwohl Sie möglicherweise nicht in der Lage sind, eine bestimmte Anweisung auszuführen.When a level 17, 18, or 19 error occurs, you can continue working, although you might not be able to execute a particular statement.

Die SqlConnection bleibt hergestellt, wenn der Schweregrad 19 oder darunter beträgt.The SqlConnection remains open when the severity level is 19 or less. Wenn der Schweregrad 20 oder größer ist, schließt der Server normalerweise die SqlConnection-Klasse.When the severity level is 20 or greater, the server usually closes the SqlConnection. Die Benutzer können die Verbindung aber erneut öffnen und fortfahren.However, the user can reopen the connection and continue. In beiden Fällen wird von der Methode, die den Befehl ausführt, eine SqlException generiert.In both cases, a SqlException is generated by the method executing the command.

Weitere Informationen zu von SQL Server generierten Fehlern finden Sie unter Ursache und Lösung von Datenbank-Engine Fehlern.For more information on errors generated by SQL Server, see Cause and Resolution of Database Engine Errors. Weitere Informationen zu Schweregraden finden Sie unter Datenbank-EngineSchweregrade von Fehlern.For more information about severity levels, see Database Engine Error Severities.

Eigenschaften

Class Class Class Class

Ruft den Schweregrad des von SQL Server zurückgegebenen Fehlers ab.Gets the severity level of the error returned from SQL Server.

LineNumber LineNumber LineNumber LineNumber

Ruft die Zeilennummer im Transact-SQL-Befehlsbatch oder in der gespeicherten Prozedur ab, in der der Fehler aufgetreten ist.Gets the line number within the Transact-SQL command batch or stored procedure that contains the error.

Message Message Message Message

Ruft den Text ab, der den Fehler beschreibt.Gets the text describing the error.

Number Number Number Number

Ruft eine Nummer ab, die den Fehlertyp angibt.Gets a number that identifies the type of error.

Procedure Procedure Procedure Procedure

Ruft den Namen der gespeicherten Prozedur oder des Remoteprozeduraufrufs (RPC) ab, der diesen Fehler generiert hat.Gets the name of the stored procedure or remote procedure call (RPC) that generated the error.

Server Server Server Server

Ruft den Namen der Instanz von SQL Server ab, die den Fehler generiert hat.Gets the name of the instance of SQL Server that generated the error.

Source Source Source Source

Ruft den Namen des Providers ab, der den Fehler generiert hat.Gets the name of the provider that generated the error.

State State State State

Einige Fehlermeldungen können an mehreren Punkten im Code für die Datenbank-Engine ausgelöst werden.Some error messages can be raised at multiple points in the code for the Database Engine. Beispielsweise kann ein Fehler 1105 für verschiedene Bedingungen ausgelöst werden.For example, an 1105 error can be raised for several different conditions. Jede besondere Bedingung, die einen Fehler auslöst, weist einen eindeutigen Zustandscode zu.Each specific condition that raises an error assigns a unique state code.

Methoden

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Ruft den vollständigen Text der Fehlermeldung ab.Gets the complete text of the error message.

Gilt für:

Siehe auch