다음을 통해 공유


OdbcException 클래스

정의

ODBC 데이터 소스에서 경고 또는 오류를 반환할 때 생성되는 예외입니다. 이 클래스는 상속될 수 없습니다.

public ref class OdbcException sealed : System::Data::Common::DbException
public ref class OdbcException sealed : SystemException
public sealed class OdbcException : System.Data.Common.DbException
[System.Serializable]
public sealed class OdbcException : SystemException
[System.Serializable]
public sealed class OdbcException : System.Data.Common.DbException
type OdbcException = class
    inherit DbException
[<System.Serializable>]
type OdbcException = class
    inherit SystemException
[<System.Serializable>]
type OdbcException = class
    inherit DbException
Public NotInheritable Class OdbcException
Inherits DbException
Public NotInheritable Class OdbcException
Inherits SystemException
상속
OdbcException
상속
상속
특성

예제

다음 예제에서는 OdbcException 누락 된 데이터 원본으로 인해 다음 예외를 표시 합니다.

public void ShowOdbcException()
{
   string mySelectQuery = "SELECT column1 FROM table1";
   OdbcConnection myConnection =
      new OdbcConnection("DRIVER={SQL Server};SERVER=MyServer;Trusted_connection=yes;DATABASE=northwind;");
   OdbcCommand myCommand = new OdbcCommand(mySelectQuery,myConnection);
   try
   {
      myCommand.Connection.Open();
   }
   catch (OdbcException e)
   {
     string errorMessages = "";

     for (int i=0; i < e.Errors.Count; i++)
     {
         errorMessages += "Index #" + i + "\n" +
                          "Message: " + e.Errors[i].Message + "\n" +
                          "NativeError: " + e.Errors[i].NativeError.ToString() + "\n" +
                          "Source: " + e.Errors[i].Source + "\n" +
                          "SQL: " + e.Errors[i].SQLState + "\n";
     }

     System.Diagnostics.EventLog log = new System.Diagnostics.EventLog();
     log.Source = "My Application";
     log.WriteEntry(errorMessages);
     Console.WriteLine("An exception occurred. Please contact your system administrator.");
   }
}
Public Sub ShowOdbcException()
    Dim mySelectQuery As String = "SELECT column1 FROM table1"
    Dim myConnection As New OdbcConnection _
       ("DRIVER={SQL Server};SERVER=MyServer;Trusted_connection=yes;DATABASE=northwind;")
    Dim myCommand As New OdbcCommand(mySelectQuery, myConnection)
    Try
        myCommand.Connection.Open()
    Catch e As OdbcException
        Dim errorMessages As String
        Dim i As Integer

        For i = 0 To e.Errors.Count - 1
            errorMessages += "Index #" & i.ToString() & ControlChars.Cr _
                           & "Message: " & e.Errors(i).Message & ControlChars.Cr _
                           & "NativeError: " & e.Errors(i).NativeError.ToString() & ControlChars.Cr _
                           & "Source: " & e.Errors(i).Source & ControlChars.Cr _
                           & "SQL: " & e.Errors(i).SQLState & ControlChars.Cr
        Next i

       Dim log As New System.Diagnostics.EventLog()
       log.Source = "My Application"
       log.WriteEntry(errorMessages)
       Console.WriteLine("An exception occurred. Please contact your system administrator.")
    End Try
End Sub

설명

이 클래스는 서버에서 OdbcDataAdapter 생성된 오류가 발생할 때마다 생성됩니다(클라이언트 쪽 오류는 표준 공용 언어 런타임 예외로 발생). 항상 의 하나 이상의 instance OdbcError포함합니다.

오류의 심각도가 너무 높으면 서버에서 OdbcConnection이 닫힐 수 있습니다. 그러나 사용자는 연결을 다시 열고 계속할 수 있습니다.

.NET Framework 데이터 공급자에 대 한 예외를 처리 하는 방법에 대 한 일반 정보를 참조 하세요. SqlException합니다.

속성

BatchCommand

를 실행할 DbBatch때 throw DbException 된 경우 예외를 트리거한 특정 DbBatchCommand 를 참조합니다.

(다음에서 상속됨 DbException)
Data

예외에 대한 사용자 정의 정보를 추가로 제공하는 키/값 쌍 컬렉션을 가져옵니다.

(다음에서 상속됨 Exception)
DbBatchCommand

파생 클래스에서 재정의된 경우 를 실행할 때 throw DbException 된 경우 예외를 DbBatch트리거한 특정 DbBatchCommand 를 참조합니다.

(다음에서 상속됨 DbException)
ErrorCode

오류의 HRESULT를 가져옵니다.

(다음에서 상속됨 ExternalException)
Errors

.NET Framework Data Provider for ODBC에서 생성된 예외에 대한 자세한 정보를 제공하는 하나 이상의 OdbcError 개체 컬렉션을 가져옵니다.

HelpLink

이 예외와 연결된 도움말 파일에 대한 링크를 가져오거나 설정합니다.

(다음에서 상속됨 Exception)
HResult

특정 예외에 할당된 코드화된 숫자 값인 HRESULT를 가져오거나 설정합니다.

(다음에서 상속됨 Exception)
InnerException

현재 예외를 발생시킨 Exception 인스턴스를 가져옵니다.

(다음에서 상속됨 Exception)
IsTransient

DbException이 나타내는 오류가 일시적 오류일 수 있는지, 즉 트리거하는 작업을 다시 시도할 경우 다른 변경 작업을 수행하지 않아도 성공할 수 있는지 여부를 나타냅니다.

(다음에서 상속됨 DbException)
Message

현재 예외를 설명하는 메시지를 가져옵니다.

Message

현재 예외를 설명하는 메시지를 가져옵니다.

(다음에서 상속됨 Exception)
Source

오류를 생성한 ODBC 드라이버의 이름을 가져옵니다.

SqlState

이를 지원하는 데이터베이스 공급자의 경우에는 데이터베이스 작업의 성공 또는 실패를 나타내는 표준 SQL 5자 반환 코드가 포함됩니다. 처음 두 자는 반환 코드의 클래스(예: 오류, 성공)를 나타내며, 마지막 세 자는 하위 클래스를 나타내므로 데이터베이스 이식 가능한 방식으로 오류 시나리오를 검색할 수 있습니다.

이를 지원하지 않는 데이터베이스 공급자 또는 적용할 수 없는 오류 시나리오의 경우에는 null이 포함됩니다.

(다음에서 상속됨 DbException)
StackTrace

호출 스택의 직접 실행 프레임 문자열 표현을 가져옵니다.

(다음에서 상속됨 Exception)
TargetSite

현재 예외를 throw하는 메서드를 가져옵니다.

(다음에서 상속됨 Exception)

메서드

Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.

(다음에서 상속됨 Object)
GetBaseException()

파생 클래스에서 재정의된 경우 하나 이상의 후속 예외의 근본 원인이 되는 Exception 을 반환합니다.

(다음에서 상속됨 Exception)
GetHashCode()

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetObjectData(SerializationInfo, StreamingContext)
사용되지 않음.

이 멤버는 GetObjectData(SerializationInfo, StreamingContext)를 재정의합니다.

GetType()

현재 인스턴스의 런타임 형식을 가져옵니다.

(다음에서 상속됨 Exception)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
ToString()

현재 예외에 대한 문자열 표현을 만들고 반환합니다.

(다음에서 상속됨 Exception)
ToString()

오류의 HRESULT가 들어 있는 문자열을 반환합니다.

(다음에서 상속됨 ExternalException)

이벤트

SerializeObjectState
사용되지 않음.

예외에 대한 serialize된 데이터가 들어 있는 예외 상태 개체가 만들어지도록 예외가 serialize될 때 발생합니다.

(다음에서 상속됨 Exception)

적용 대상

추가 정보