Freigeben über


SqlError Klasse

Definition

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.

Gilt für:

Weitere Informationen