OdbcException 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
ODBC 데이터 소스에서 경고 또는 오류를 반환할 때 생성되는 예외입니다. 이 클래스는 상속될 수 없습니다.
public ref class OdbcException sealed : System::Data::Common::DbException
public ref class OdbcException sealed : SystemException
[System.Serializable]
public sealed class OdbcException : System.Data.Common.DbException
[System.Serializable]
public sealed class OdbcException : SystemException
public sealed class OdbcException : System.Data.Common.DbException
[<System.Serializable>]
type OdbcException = class
inherit DbException
[<System.Serializable>]
type OdbcException = class
inherit SystemException
type OdbcException = class
inherit DbException
Public NotInheritable Class OdbcException
Inherits DbException
Public NotInheritable Class OdbcException
Inherits SystemException
- 상속
- 상속
- 특성
예제
다음 예제에서는 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 |
오류의 |
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자 반환 코드가 포함됩니다. 처음 두 자는 반환 코드의 클래스(예: 오류, 성공)를 나타내며, 마지막 세 자는 하위 클래스를 나타내므로 데이터베이스 이식 가능한 방식으로 오류 시나리오를 검색할 수 있습니다. 이를 지원하지 않는 데이터베이스 공급자 또는 적용할 수 없는 오류 시나리오의 경우에는 |
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) |
ToString() |
현재 예외에 대한 문자열 표현을 만들고 반환합니다. (다음에서 상속됨 Exception) |
이벤트
SerializeObjectState |
사용되지 않음.
예외에 대한 serialize된 데이터가 들어 있는 예외 상태 개체가 만들어지도록 예외가 serialize될 때 발생합니다. (다음에서 상속됨 Exception) |
적용 대상
추가 정보
.NET