OleDbException 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
원본 공급자가 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자 반환 코드가 포함됩니다. 처음 두 자는 반환 코드의 클래스(예: 오류, 성공)를 나타내며, 마지막 세 자는 하위 클래스를 나타내므로 데이터베이스 이식 가능한 방식으로 오류 시나리오를 검색할 수 있습니다. 이를 지원하지 않는 데이터베이스 공급자 또는 적용할 수 없는 오류 시나리오의 경우에는 |
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) |
적용 대상
추가 정보
.NET