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


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 из-за отсутствия источника данных, а затем отображается исключение.

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 раз, когда возникает ошибка, созданная сервером (ошибки на стороне клиента создаются как стандартные исключения среды CLR). Он всегда содержит по крайней OdbcErrorмере один экземпляр .

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

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

Свойства

BatchCommand

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

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

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

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

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

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

Возвращает HRESULT ошибки.

(Унаследовано от ExternalException)
Errors

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

HelpLink

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

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

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

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

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

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

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

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

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

Message

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

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

Получает имя драйвера ODBC, который сгенерировал ошибку.

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)
ToString()

Создает и возвращает строковое представление текущего исключения.

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

События

SerializeObjectState
Устаревшие..

Возникает, когда исключение сериализовано для создания объекта состояния исключения, содержащего сериализованные данные об исключении.

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

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

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