Share via


SqlError Classe

Définition

Collecte des informations propres à un avertissement ou à une erreur retournés par 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
Héritage
SqlError
Attributs

Exemples

L’exemple suivant affiche chacun SqlError d’eux dans la SqlErrorCollection collection.

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";
    }
}

Remarques

Cette classe est créée par le fournisseur de données .NET Framework pour SQL Server lorsqu’une erreur se produit. Une instance de SqlError est créée et gérée par le SqlErrorCollection, qui à son tour est créé par la SqlException classe .

Les messages dont le niveau de gravité est inférieur ou égal à 10 correspondent à des messages d'information qui indiquent des problèmes dus à des erreurs dans des informations entrées par un utilisateur. Les niveaux de gravité de 11 à 16 sont générés par l’utilisateur et peuvent être corrigés par l’utilisateur. Les niveaux de gravité compris entre 17 et 25 indiquent des erreurs logicielles ou matérielles. Lorsqu’une erreur de niveau 17, 18 ou 19 se produit, vous pouvez continuer à travailler, bien que vous ne puissiez peut-être pas exécuter une instruction particulière.

SqlConnection reste ouvert lorsque le niveau de gravité est inférieur ou égal à 19. Lorsque le niveau de gravité est supérieur ou égal à 20, le serveur ferme généralement SqlConnection. L'utilisateur peut toutefois rouvrir la connexion et continuer. Dans les deux cas, SqlException est généré par la méthode qui exécute la commande.

Pour plus d’informations sur les erreurs générées par SQL Server, consultez Cause et résolution des erreurs du moteur de base de données. Pour plus d’informations sur les niveaux de gravité, consultez Gravité des erreurs du moteur de base de données.

Propriétés

Class

Obtient le niveau de gravité de l'erreur retournée par SQL Server.

LineNumber

Obtient le numéro de la ligne, dans le lot d'instructions Transact-SQL ou la procédure stockée, qui contient l'erreur.

Message

Obtient le texte décrivant l'erreur.

Number

Obtient un numéro qui identifie le type d'erreur.

Procedure

Obtient le nom de la procédure stockée ou de l'appel de procédure distante (RPC, Remote Procedure Call) qui a généré l'erreur.

Server

Obtient le nom de l'instance de SQL Server qui a généré l'erreur.

Source

Obtient le nom du fournisseur qui a généré l'erreur.

State

Certains messages d'erreur peuvent apparaître en de multiples endroits du code du Moteur de base de données. L'erreur 1105 par exemple, peut être provoquée par différentes conditions. Un code d'état unique est assigné à chaque condition spécifique qui déclenche une erreur.

Méthodes

ToString()

Obtient le texte complet du message d'erreur.

S’applique à

Voir aussi