SqlError Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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. |