Sdílet prostřednictvím


OdbcException Třída

Definice

Výjimka, která je generována, když je varování nebo chyba vrácena zdrojem dat ODBC. Tato třída se nemůže dědit.

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
Dědičnost
OdbcException
Dědičnost
Dědičnost
Atributy

Příklady

Následující příklad vygeneruje OdbcException kvůli chybějícímu zdroji dat a pak zobrazí výjimku.

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

Poznámky

Tato třída se vytvoří vždy, když dojde k OdbcDataAdapter chybě vygenerované serverem (chyby na straně klienta jsou vyvolány jako standardní běžné výjimky modulu runtime jazyka).). Vždy obsahuje alespoň jednu instanci .OdbcError

Pokud je závažnost chyby příliš velká, server může zavřít OdbcConnection. Uživatel ale může znovu otevřít připojení a pokračovat.

Obecné informace o zpracování výjimek pro zprostředkovatele dat rozhraní .NET Framework najdete v tématu SqlException.

Vlastnosti

BatchCommand

Pokud došlo k vyvolání DbException při spuštění objektu DbBatch, odkazuje na konkrétní DbBatchCommand objekt, který výjimku aktivoval.

(Zděděno od DbException)
Data

Získá kolekci párů klíč/hodnota, které poskytují další uživatelem definované informace o výjimce.

(Zděděno od Exception)
DbBatchCommand

Při přepsání v odvozené třídě, pokud byla DbException vyvolána při spuštění DbBatch, odkazuje na konkrétní DbBatchCommand , který aktivoval výjimku.

(Zděděno od DbException)
ErrorCode

HRESULT Získá z chyby.

(Zděděno od ExternalException)
Errors

Získá kolekci jednoho nebo více OdbcError objektů, které poskytují podrobné informace o výjimkách generovaných zprostředkovatelem dat rozhraní .NET Framework pro rozhraní ODBC.

HelpLink

Získá nebo nastaví odkaz na soubor nápovědy přidružený k této výjimce.

(Zděděno od Exception)
HResult

Získá nebo nastaví HRESULT, kódovaná číselná hodnota, která je přiřazena ke konkrétní výjimce.

(Zděděno od Exception)
InnerException

Exception Získá instanci, která způsobila aktuální výjimku.

(Zděděno od Exception)
IsTransient

Určuje, jestli chyba reprezentovaná touto DbException chybou může být přechodná, tj. pokud se bude opakovat pokus o aktivaci, může být operace úspěšná bez jakékoli jiné změny.

(Zděděno od DbException)
Message

Získá zprávu, která popisuje aktuální výjimku.

Message

Získá zprávu, která popisuje aktuální výjimku.

(Zděděno od Exception)
Source

Získá název ovladače ODBC, který vygeneroval chybu.

SqlState

Pro poskytovatele databáze, kteří to podporují, obsahuje standardní 5mísícový návratový kód SQL označující úspěch nebo selhání databázové operace. První 2 znaky představují třídu návratového kódu (např. chyba, úspěch), zatímco poslední 3 znaky představují podtřídu, což umožňuje detekci chybových scénářů přenositelným způsobem.

Pro poskytovatele databází, kteří ho nepodporují, nebo pro nepoužitelné chybové scénáře obsahuje null.

(Zděděno od DbException)
StackTrace

Získá řetězcovou reprezentaci okamžitých rámců v zásobníku volání.

(Zděděno od Exception)
TargetSite

Získá metodu, která vyvolá aktuální výjimku.

(Zděděno od Exception)

Metody

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetBaseException()

Při přepsání v odvozené třídě vrátí hodnotu Exception , která je původní příčinou jedné nebo více následných výjimek.

(Zděděno od Exception)
GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetObjectData(SerializationInfo, StreamingContext)
Zastaralé.

Tento člen přepíše GetObjectData(SerializationInfo, StreamingContext).

GetType()

Získá typ modulu runtime aktuální instance.

(Zděděno od Exception)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
ToString()

Vytvoří a vrátí řetězcovou reprezentaci aktuální výjimky.

(Zděděno od Exception)
ToString()

Vrátí řetězec, který obsahuje hodnotu HRESULT chyby.

(Zděděno od ExternalException)

Událost

SerializeObjectState
Zastaralé.

Nastane, když je výjimka serializována k vytvoření objektu stavu výjimky, který obsahuje serializovaná data o výjimce.

(Zděděno od Exception)

Platí pro

Viz také