SqlError Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Recopila información relevante para una advertencia o un error devuelto por 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
- Herencia
-
SqlError
- Atributos
Ejemplos
En el ejemplo siguiente se muestra cada una SqlError de las SqlErrorCollection colecciones.
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";
}
}
Comentarios
El proveedor de datos de .NET Framework crea esta clase para SQL Server cuando se produce un error. La clase crea y administra SqlErrorCollectionuna instancia de SqlError , que a su vez se crea.SqlException
Los mensajes con un nivel de gravedad de 10 o menos son informativos e indican problemas ocasionados por errores en la información proporcionada por un usuario. El usuario genera los niveles de gravedad de 11 a 16 y puede corregirlo el usuario. Los niveles de gravedad entre 17 y 25 indican errores de software o hardware. Cuando se produce un error de nivel 17, 18 o 19, puede continuar trabajando, aunque es posible que no pueda ejecutar una instrucción determinada.
La conexión SqlConnection permanece abierta cuando el nivel de gravedad es 19 o inferior. Cuando el nivel de gravedad es 20 o superior, normalmente el servidor cierra la conexión SqlConnection. Sin embargo, el usuario puede volver a abrir la conexión y continuar. En ambos casos, el método que ejecuta el comando genera una excepción SqlException.
Para obtener más información sobre los errores generados por SQL Server, vea Causa y resolución de errores del motor de base de datos. Para obtener más información sobre los niveles de gravedad, vea Gravedades de errores del motor de base de datos.
Propiedades
Class |
Obtiene el nivel de gravedad del error devuelto desde SQL Server. |
LineNumber |
Obtiene el número de línea del procedimiento almacenado o lote de comandos de Transact-SQL que contiene el error. |
Message |
Obtiene el texto que describe el error. |
Number |
Obtiene el número que identifica el tipo de error. |
Procedure |
Obtiene el nombre del procedimiento almacenado o llamada a procedimiento remoto (RPC) que ha generado el error. |
Server |
Obtiene el nombre de la instancia de SQL Server que ha generado el error. |
Source |
Obtiene el nombre del proveedor que ha generado el error. |
State |
Algunos mensajes de error se pueden generar en varios puntos del código de Motor de base de datos. Por ejemplo, el error 1105 se puede generar bajo diferentes condiciones. Cada condición específica bajo la que se genera un error asigna un código de estado único. |
Métodos
ToString() |
Obtiene el texto completo del mensaje de error. |