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 遇到由服务器生成的错误时,都会创建此类, (客户端错误被引发为标准公共语言运行时 exceptions.) 。 它始终至少包含一个 实例 OdbcError

如果错误的严重程度太高,服务器可能会关闭 OdbcConnection。 但是,用户可以重新打开连接并继续操作。

有关处理.NET Framework数据提供程序异常的常规信息,请参阅 SqlException

属性

BatchCommand

如果在执行 DbBatch时引发,DbException则引用触发异常的特定 DbBatchCommand

(继承自 DbException)
Data

获取键/值对的集合,这些键/值对提供有关该异常的其他用户定义信息。

(继承自 Exception)
DbBatchCommand

在派生类中重写时,如果在执行 DbBatch时引发,DbException则引用触发异常的特定 DbBatchCommand

(继承自 DbException)
ErrorCode

获取错误的 HRESULT

(继承自 ExternalException)
Errors

获取一个或多个 OdbcError 对象的集合,这些对象提供有关用于 ODBC 的 .NET Framework 数据提供程序生成的异常的详细信息。

HelpLink

获取或设置指向与此异常关联的帮助文件链接。

(继承自 Exception)
HResult

获取或设置 HRESULT(一个分配给特定异常的编码数字值)。

(继承自 Exception)
InnerException

获取导致当前异常的 Exception 实例。

(继承自 Exception)
IsTransient

指示此 DbException 表示的错误是否可能是暂时性错误,即重试触发操作是否可以在不进行任何其他更改的情况下成功。

(继承自 DbException)
Message

获取描述当前异常的消息。

Message

获取描述当前异常的消息。

(继承自 Exception)
Source

获取生成错误的 ODBC 驱动程序的名称。

SqlState

对于支持它的数据库提供程序,包含一个标准的 SQL 5 字符返回代码,指示数据库操作的成功或失败。 前 2 个字符表示返回代码的 (例如错误、成功),而最后 3 个字符表示 子类,允许以数据库可移植的方式检测错误情况。

对于不支持它的数据库提供程序,或对于不适用的错误方案,包含 null

(继承自 DbException)
StackTrace

获取调用堆栈上的即时框架字符串表示形式。

(继承自 Exception)
TargetSite

获取引发当前异常的方法。

(继承自 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
已过时.

当异常被序列化用来创建包含有关该异常的徐列出数据的异常状态对象时会出现该问题。

(继承自 Exception)

适用于

另请参阅