OleDbException Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Исключение, которое возникает, когда базовый поставщик возвращает предупреждение или ошибку для источника данных OLE DB. Этот класс не наследуется.
public ref class OleDbException sealed : System::Runtime::InteropServices::ExternalException
public ref class OleDbException sealed : System::Data::Common::DbException
[System.Serializable]
public sealed class OleDbException : System.Runtime.InteropServices.ExternalException
[System.Serializable]
public sealed class OleDbException : System.Data.Common.DbException
[<System.Serializable>]
type OleDbException = class
inherit ExternalException
[<System.Serializable>]
type OleDbException = class
inherit DbException
Public NotInheritable Class OleDbException
Inherits ExternalException
Public NotInheritable Class OleDbException
Inherits DbException
- Наследование
- Наследование
- Атрибуты
Примеры
В следующем примере возникает 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
Комментарии
Этот класс создается всякий раз, когда Data Provider .NET Framework для OLE DB обнаруживает ошибку, созданную на сервере. (Ошибки на стороне клиента возникают в качестве стандартных исключений среды CLR.) OleDbException всегда содержит по крайней OleDbErrorмере один экземпляр .
Если серьезность ошибки слишком велика, сервер может закрыть OleDbConnection. Однако пользователь может повторно открыть подключение и продолжить.
Общие сведения об обработке исключений для поставщика данных .NET Framework см. в разделе SqlException.
Свойства
| Имя | Описание |
|---|---|
| Data |
Возвращает коллекцию пар "ключ-значение", которые предоставляют дополнительные пользовательские сведения об исключении. (Унаследовано от Exception) |
| ErrorCode |
Возвращает HRESULT ошибки. |
| Errors |
Возвращает коллекцию одного или нескольких объектов OleDbError, которые предоставляют подробные сведения об исключениях, созданных Data Provider платформы .NET Framework для OLE DB. |
| HelpLink |
Возвращает или задает ссылку на файл справки, связанный с этим исключением. (Унаследовано от Exception) |
| HResult |
Возвращает или задает HRESULT, закодированное числовое значение, назначенное определенному исключению. (Унаследовано от Exception) |
| InnerException |
Возвращает экземпляр Exception, вызвавшего текущее исключение. (Унаследовано от Exception) |
| Message |
Возвращает текст, описывающий ошибку. |
| Message |
Возвращает сообщение, описывающее текущее исключение. (Унаследовано от Exception) |
| Source |
Возвращает имя поставщика OLE DB, создающего ошибку. |
| Source |
Возвращает или задает имя приложения или объекта, вызывающего ошибку. (Унаследовано от Exception) |
| 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) |