OdbcException 类 
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
ODBC 数据源返回警告或错误时生成的异常。 此类不能被继承。
public ref class OdbcException sealed : System::Data::Common::DbExceptionpublic ref class OdbcException sealed : SystemExceptionpublic sealed class OdbcException : System.Data.Common.DbException[System.Serializable]
public sealed class OdbcException : SystemException[System.Serializable]
public sealed class OdbcException : System.Data.Common.DbExceptiontype OdbcException = class
    inherit DbException[<System.Serializable>]
type OdbcException = class
    inherit SystemException[<System.Serializable>]
type OdbcException = class
    inherit DbExceptionPublic NotInheritable Class OdbcException
Inherits DbExceptionPublic 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 遇到由服务器生成的错误时,都会创建此类, (客户端错误被引发为标准公共语言运行时 exceptions.) 。 它始终至少包含一个 实例 OdbcError。
如果错误的严重程度太高,服务器可能会关闭 OdbcConnection。 但是,用户可以重新打开连接并继续操作。
有关处理.NET Framework数据提供程序异常的常规信息,请参阅 SqlException。
属性
| BatchCommand | 如果在执行 DbBatch时引发,DbException则引用触发异常的特定 DbBatchCommand 。(继承自 DbException) | 
| Data | 获取键/值对的集合,这些键/值对提供有关该异常的其他用户定义信息。(继承自 Exception) | 
| DbBatchCommand | 在派生类中重写时,如果在执行 DbBatch时引发,DbException则引用触发异常的特定 DbBatchCommand 。(继承自 DbException) | 
| ErrorCode | 获取错误的  | 
| 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 个字符表示 子类,允许以数据库可移植的方式检测错误情况。  对于不支持它的数据库提供程序,或对于不适用的错误方案,包含  | 
| StackTrace | 获取调用堆栈上的即时框架字符串表示形式。(继承自 Exception) | 
| TargetSite | 获取引发当前异常的方法。(继承自 Exception) | 
方法
| Equals(Object) | 确定指定对象是否等于当前对象。(继承自 Object) | 
| GetBaseException() | 当在派生类中重写时,返回 Exception,它是一个或多个并发的异常的根本原因。(继承自 Exception) | 
| GetHashCode() | 作为默认哈希函数。(继承自 Object) | 
| GetObjectData(SerializationInfo, StreamingContext) | 
				已过时.
			 | 
| GetType() | 获取当前实例的运行时类型。(继承自 Exception) | 
| MemberwiseClone() | 创建当前 Object 的浅表副本。(继承自 Object) | 
| ToString() | 创建并返回当前异常的字符串表示形式。(继承自 Exception) | 
| ToString() | 返回一个字符串,该字符串包含错误的 HRESULT。(继承自 ExternalException) | 
事件
| SerializeObjectState | 
		已过时.
	 当异常被序列化用来创建包含有关该异常的徐列出数据的异常状态对象时会出现该问题。(继承自 Exception) |