OdbcException Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
- 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 |
|
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 |
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) |