Udostępnij za pośrednictwem


OdbcException Klasa

Definicja

Wyjątek generowany podczas zwracania ostrzeżenia lub błędu przez źródło danych ODBC. Klasa ta nie może być dziedziczona.

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
Dziedziczenie
Dziedziczenie
Atrybuty

Przykłady

Poniższy przykład generuje element OdbcException z powodu brakującego źródła danych, a następnie wyświetla wyjątek.

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

Uwagi

Ta klasa jest tworzona za każdym razem, gdy OdbcDataAdapter wystąpi błąd wygenerowany przez serwer (błędy po stronie klienta są zgłaszane jako standardowe wyjątki środowiska uruchomieniowego języka wspólnego). Zawsze zawiera co najmniej jedno wystąpienie klasy OdbcError.

Jeśli ważność błędu jest zbyt duża, serwer może zamknąć serwer OdbcConnection. Użytkownik może jednak ponownie otworzyć połączenie i kontynuować.

Aby uzyskać ogólne informacje na temat obsługi wyjątków dla dostawcy danych .NET Framework, zobacz SqlException.

Właściwości

BatchCommand

Jeśli zostało to DbException zwrócone podczas wykonywania elementu DbBatch, odwołuje się do określonego DbBatchCommand elementu, który wyzwolił wyjątek.

(Odziedziczone po DbException)
Data

Pobiera kolekcję par klucz/wartość, które zapewniają dodatkowe informacje zdefiniowane przez użytkownika dotyczące wyjątku.

(Odziedziczone po Exception)
DbBatchCommand

Po przesłonięciu w klasie pochodnej, jeśli został on DbException zgłoszony podczas wykonywania DbBatchklasy , odwołuje się do określonego DbBatchCommand , który wyzwolił wyjątek.

(Odziedziczone po DbException)
ErrorCode

HRESULT Pobiera błąd.

(Odziedziczone po ExternalException)
Errors

Pobiera kolekcję jednego lub większej liczby OdbcError obiektów, które zawierają szczegółowe informacje o wyjątkach generowanych przez dostawcę danych .NET Framework dla ODBC.

HelpLink

Pobiera lub ustawia link do pliku pomocy skojarzonego z tym wyjątkiem.

(Odziedziczone po Exception)
HResult

Pobiera lub ustawia HRESULT, zakodowaną wartość liczbową przypisaną do określonego wyjątku.

(Odziedziczone po Exception)
InnerException

Exception Pobiera wystąpienie, które spowodowało bieżący wyjątek.

(Odziedziczone po Exception)
IsTransient

Wskazuje, czy błąd reprezentowany przez ten DbException błąd może być błędem przejściowym, tj. jeśli ponowienie próby operacji wyzwalania może zakończyć się powodzeniem bez żadnych innych zmian.

(Odziedziczone po DbException)
Message

Pobiera komunikat opisujący bieżący wyjątek.

Message

Pobiera komunikat opisujący bieżący wyjątek.

(Odziedziczone po Exception)
Source

Pobiera nazwę sterownika ODBC, który wygenerował błąd.

SqlState

W przypadku dostawców baz danych, którzy ją obsługują, zawiera standardowy kod powrotny SQL 5 znaków wskazujący powodzenie lub niepowodzenie operacji bazy danych. Pierwsze 2 znaki reprezentują klasę kodu powrotnego (np. błąd, powodzenie), podczas gdy ostatnie 3 znaki reprezentują podklasę, umożliwiając wykrywanie scenariuszy błędów w przenośnej bazie danych.

W przypadku dostawców baz danych, którzy jej nie obsługują, lub w przypadku scenariuszy błędów, których nie można zastosować, zawiera wartość null.

(Odziedziczone po DbException)
StackTrace

Pobiera reprezentację ciągu natychmiastowych ramek na stosie wywołań.

(Odziedziczone po Exception)
TargetSite

Pobiera metodę, która zgłasza bieżący wyjątek.

(Odziedziczone po Exception)

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetBaseException()

Po przesłonięciu w klasie pochodnej funkcja zwraca Exception główną przyczynę co najmniej jednego kolejnego wyjątku.

(Odziedziczone po Exception)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetObjectData(SerializationInfo, StreamingContext)
Przestarzałe.

Ten element członkowski przesłania element GetObjectData(SerializationInfo, StreamingContext).

GetType()

Pobiera typ środowiska uruchomieniowego bieżącego wystąpienia.

(Odziedziczone po Exception)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg zawierający wartość HRESULT błędu.

(Odziedziczone po ExternalException)
ToString()

Tworzy i zwraca reprezentację ciągu bieżącego wyjątku.

(Odziedziczone po Exception)

Zdarzenia

SerializeObjectState
Przestarzałe.

Występuje, gdy wyjątek jest serializowany w celu utworzenia obiektu stanu wyjątku, który zawiera serializowane dane dotyczące wyjątku.

(Odziedziczone po Exception)

Dotyczy

Zobacz też