SqlError 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
SQL Server 반환된 경고 또는 오류와 관련된 정보를 수집합니다.
public ref class SqlError sealed
[System.Serializable]
public sealed class SqlError
[<System.Serializable>]
type SqlError = class
Public NotInheritable Class SqlError
- 상속
-
SqlError
- 특성
예제
다음 예제에서는 컬렉션 내에서 각각 SqlError 을 표시합니다 SqlErrorCollection .
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();
}
Public Sub ShowSqlException(ByVal connectionString As String)
Dim queryString As String = "EXECUTE NonExistantStoredProcedure"
Using connection As New SqlConnection(connectionString)
Dim command As New SqlCommand(queryString, connection)
Try
command.Connection.Open()
command.ExecuteNonQuery()
Catch ex As SqlException
DisplaySqlErrors(ex)
End Try
End Using
End Sub
Private Sub DisplaySqlErrors(ByVal exception As SqlException)
Dim i As Integer
For i = 0 To exception.Errors.Count - 1
Console.WriteLine("Index #" & i & ControlChars.NewLine & _
"Error: " & exception.Errors(i).ToString() & ControlChars.NewLine)
Next i
Console.ReadLine()
End Sub
설명
이 클래스는 오류가 발생할 때 SQL Server 대한 .NET Framework Data Provider 의해 생성됩니다. 인스턴스 SqlError 가 생성되고 클래스에서 SqlErrorCollection만들어지는 인스턴스가 SqlException 관리됩니다.
심각도 수준이 10 이하인 메시지는 정보를 제공하며 사용자가 입력한 정보의 실수로 인한 문제를 나타냅니다. 11에서 16까지의 심각도 수준은 사용자가 생성하며 사용자가 수정할 수 있습니다. 17에서 25까지의 심각도 수준은 소프트웨어 또는 하드웨어 오류를 나타냅니다. 수준 17, 18 또는 19 오류가 발생하면 특정 문을 실행할 수 없지만 작업을 계속할 수 있습니다.
SqlConnection 심각도 수준이 19 이하인 경우 열린 상태로 유지됩니다. 심각도 수준이 20 이상인 경우 서버는 일반적으로 닫힙니다 SqlConnection. 그러나 사용자는 연결을 다시 열고 계속할 수 있습니다. 두 경우 SqlException 모두 명령을 실행하는 메서드에 의해 생성됩니다.
SQL Server 생성된 오류에 대한 자세한 내용은 데이터베이스 엔진 오류 참조하세요. 심각도 수준에 대한 자세한 내용은 데이터베이스 엔진 오류 심각도 참조하세요.
속성
| Name | Description |
|---|---|
| Class |
SQL Server 반환된 오류의 심각도 수준을 가져옵니다. |
| LineNumber |
Transact-SQL 명령 일괄 처리 또는 오류가 포함된 저장 프로시저 내의 줄 번호를 가져옵니다. |
| Message |
오류를 설명하는 텍스트를 가져옵니다. |
| Number |
오류 유형을 식별하는 숫자를 가져옵니다. |
| Procedure |
오류를 생성한 저장 프로시저 또는 RPC(원격 프로시저 호출)의 이름을 가져옵니다. |
| Server |
오류를 생성한 SQL Server 인스턴스의 이름을 가져옵니다. |
| Source |
오류를 생성한 공급자의 이름을 가져옵니다. |
| State |
오류에 대한 고유 상태 코드를 가져옵니다. |
메서드
| Name | Description |
|---|---|
| Equals(Object) |
지정한 개체와 현재 개체가 같은지 여부를 확인합니다. (다음에서 상속됨 Object) |
| GetHashCode() |
기본 해시 함수로 작동합니다. (다음에서 상속됨 Object) |
| GetType() |
현재 인스턴스의 Type 가져옵니다. (다음에서 상속됨 Object) |
| MemberwiseClone() |
현재 Object단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
| ToString() |
오류 메시지의 전체 텍스트를 가져옵니다. |