SqlError Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Coleta informações relevantes para um aviso ou erro retornado pelo 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
- Herança
-
SqlError
- Atributos
Exemplos
O exemplo a seguir exibe cada SqlError um dentro da SqlErrorCollection coleção.
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";
}
}
Comentários
Essa classe é criada pelo provedor de dados .NET Framework para SQL Server quando ocorre um erro. Uma instância de SqlError é criada e gerenciada pelo , que, por SqlErrorCollectionsua vez, é criado pela SqlException classe .
As mensagens com nível de severidade 10 ou inferior são informativas e indicam problemas causados por erros nas informações inseridas por um usuário. Os níveis de gravidade de 11 a 16 são gerados pelo usuário e podem ser corrigidos pelo usuário. Os níveis de severidade de 17 a 25 indicam erros de software ou hardware. Quando ocorre um erro de nível 17, 18 ou 19, você pode continuar trabalhando, embora não seja possível executar uma instrução específica.
O SqlConnection permanece aberto quando o nível de severidade é 19 ou inferior. Quando o nível de severidade é 20 ou superior, o servidor geralmente encerra o SqlConnection. No entanto, o usuário pode reabrir a conexão e continuar. Em ambos os casos, SqlException é gerada pelo método que executa o comando.
Para obter mais informações sobre erros gerados por SQL Server, consulte Causa e resolução de erros do mecanismo de banco de dados. Para obter mais informações sobre níveis de severidade, consulte Severidades de erro do mecanismo de banco de dados.
Propriedades
Class |
Obtém o nível de gravidade do erro retornado do SQL Server. |
LineNumber |
Obtém o número de linha dentro do lote de comandos Transact-SQL ou procedimento armazenado que gerou o erro. |
Message |
Obtém o texto que descreve o erro. |
Number |
Obtém um número que identifica o tipo de erro. |
Procedure |
Obtém o nome do procedimento armazenado ou da RPC (chamada de procedimento remoto) que gerou o erro. |
Server |
Obtém o nome da instância do SQL Server que gerou o erro. |
Source |
Obtém o nome do provedor que gerou o erro. |
State |
Algumas mensagens de erro podem ser geradas em vários pontos no código para o mecanismo de banco de dados. Por exemplo, um erro 1105 pode ser gerado para várias condições diferentes. Cada condição específica que gera um erro atribui um código de estado exclusivo. |
Métodos
ToString() |
Obtém ou define o texto completo da mensagem de erro. |