다음을 통해 공유


OleDbException 클래스

정의

원본 공급자가 OLE DB 데이터 소스에 대해 경고 또는 오류를 반환할 때 throw되는 예외입니다. 이 클래스는 상속될 수 없습니다.

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

예제

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

public void ShowOleDbException()
{
   string mySelectQuery = "SELECT column1 FROM table1";
   OleDbConnection myConnection =
      new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;DataSource=");
   OleDbCommand myCommand = new OleDbCommand(mySelectQuery,myConnection);

   try
   {
      myCommand.Connection.Open();
   }
   catch (OleDbException 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 + "\n" +
                          "Source: " + e.Errors[i].Source + "\n" +
                          "SQLState: " + 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 ShowOleDbException()
    Dim mySelectQuery As String = "SELECT column1 FROM table1"
    Dim myConnection As New OleDbConnection _
       ("Provider=Microsoft.Jet.OLEDB.4.0;DataSource=")
    Dim myCommand As New OleDbCommand(mySelectQuery, myConnection)

    Try
        myCommand.Connection.Open()
    Catch e As OleDbException
        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 & ControlChars.Cr _
                           & "Source: " & e.Errors(i).Source & ControlChars.Cr _
                           & "SQLState: " & 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

설명

이 클래스는.NET Framework Data Provider for OLE DB가 서버에서 생성 된 오류를 발견할 때마다 생성 됩니다. (클라이언트 쪽 오류는 표준 공용 언어 런타임 예외를 throw 됨). OleDbException 의 인스턴스를 하나 이상 항상 포함 OleDbError합니다.

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

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

속성

BatchCommand

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

(다음에서 상속됨 DbException)
Data

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

(다음에서 상속됨 Exception)
DbBatchCommand

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

(다음에서 상속됨 DbException)
ErrorCode

오류의 HRESULT를 가져옵니다.

Errors

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

HelpLink

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

(다음에서 상속됨 Exception)
HResult

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

(다음에서 상속됨 Exception)
InnerException

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

(다음에서 상속됨 Exception)
IsTransient

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

(다음에서 상속됨 DbException)
Message

오류를 설명하는 텍스트를 가져옵니다.

Message

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

(다음에서 상속됨 Exception)
Source

오류를 생성한 OLE DB 공급자의 이름을 가져옵니다.

Source

오류를 발생시키는 애플리케이션 또는 개체의 이름을 가져오거나 설정합니다.

(다음에서 상속됨 Exception)
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()

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

(다음에서 상속됨 ExternalException)

이벤트

SerializeObjectState
사용되지 않음.

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

(다음에서 상속됨 Exception)

적용 대상

추가 정보