Поделиться через


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

Комментарии

Этот класс создается всякий раз, когда поставщик данных платформа .NET Framework для OLE DB обнаруживает ошибку, созданную сервером. (Ошибки на стороне клиента создаются как стандартные исключения среды CLR.) OleDbException всегда содержит по крайней OleDbErrorмере один экземпляр .

В случае серьезной ошибки сервер может закрыть объект OleDbConnection. Тем не менее, пользователь может опять открыть подключение и продолжить работу.

Общие сведения об обработке исключений для поставщика данных платформа .NET Framework см. в разделе SqlException.

Свойства

BatchCommand

Если это DbException было вызвано при выполнении , ссылается на конкретный DbBatchDbBatchCommand объект, который вызвал исключение.

(Унаследовано от DbException)
Data

Возвращает коллекцию пар «ключ-значение», предоставляющую дополнительные сведения об исключении.

(Унаследовано от Exception)
DbBatchCommand

При переопределении в производном классе, если это DbException было вызвано при выполнении DbBatch, ссылается на конкретный DbBatchCommand , который вызвал исключение.

(Унаследовано от DbException)
ErrorCode

Получает значение HRESULT ошибки.

Errors

Получает коллекцию из одного или нескольких объектов OleDbError, которые предоставляют подробные сведения об исключениях, выдаваемых поставщиком данных .NET Framework для OLE DB.

HelpLink

Получает или задает ссылку на файл справки, связанный с этим исключением.

(Унаследовано от Exception)
HResult

Возвращает или задает HRESULT — кодированное числовое значение, присвоенное определенному исключению.

(Унаследовано от Exception)
InnerException

Возвращает экземпляр класса Exception, который вызвал текущее исключение.

(Унаследовано от Exception)
IsTransient

Указывает, может ли ошибка, представленная этим экземпляром DbException, быть временной ошибкой, т. е. может ли повторная попытка активировать операцию быть выполнена без других изменений.

(Унаследовано от DbException)
Message

Возвращает текст, описывающий ошибку.

Message

Возвращает сообщение, описывающее текущее исключение.

(Унаследовано от Exception)
Source

Возвращает имя вызвавшего ошибку поставщика OLE DB.

Source

Возвращает или задает имя приложения или объекта, вызывавшего ошибку.

(Унаследовано от Exception)
SqlState

Для поставщиков баз данных с поддержкой содержит стандартный код возврата SQL, состоящий из пяти символов и указывающий на успешность выполнения операции с базой данных. Первые два символа представляют класс кода возврата (например, ошибка или успешное выполнение), а последние три символа — подкласс. Это позволяет обнаруживать сценарии ошибок с применением подхода с поддержкой переноса баз данных.

Для поставщиков баз данных без поддержки или неприменимых сценариев ошибок содержит 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)

Применяется к

См. также раздел