OleDbException 类

定义

在基础提供程序返回 OLE DB 数据源的警告或错误时引发的异常。 此类不能被继承。

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

注解

每当 OLE DB .NET Framework数据提供程序遇到从服务器生成的错误时,都会创建此类。 (客户端错误作为标准公共语言运行时异常引发。) OleDbException 始终至少包含一个 实例 OleDbError

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

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

属性

BatchCommand

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

(继承自 DbException)
Data

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

(继承自 Exception)
DbBatchCommand

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

(继承自 DbException)
ErrorCode

获取错误的 HRESULT。

Errors

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

HelpLink

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

(继承自 Exception)
HResult

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

(继承自 Exception)
InnerException

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

(继承自 Exception)
IsTransient

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

(继承自 DbException)
Message

获取对错误进行描述的文本。

Message

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

(继承自 Exception)
Source

获取生成错误的 OLE DB 提供程序的名称。

Source

获取或设置导致错误的应用程序或对象的名称。

(继承自 Exception)
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()

返回一个字符串,该字符串包含错误的 HRESULT。

(继承自 ExternalException)

事件

SerializeObjectState
已过时.

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

(继承自 Exception)

适用于

另请参阅