OleDbException 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 vyvolán, když podkladový zprostředkovatel vrátí upozornění nebo chybu pro zdroj dat OLE DB. Tato třída se nemůže dědit.
public ref class OleDbException sealed : System::Data::Common::DbException
public ref class OleDbException sealed : System::Runtime::InteropServices::ExternalException
public sealed class OleDbException : System.Data.Common.DbException
[System.Serializable]
public sealed class OleDbException : System.Runtime.InteropServices.ExternalException
[System.Serializable]
public sealed class OleDbException : System.Data.Common.DbException
type OleDbException = class
inherit DbException
[<System.Serializable>]
type OleDbException = class
inherit ExternalException
[<System.Serializable>]
type OleDbException = class
inherit DbException
Public NotInheritable Class OleDbException
Inherits DbException
Public NotInheritable Class OleDbException
Inherits ExternalException
- Dědičnost
- Dědičnost
- Atributy
Příklady
Následující příklad vygeneruje OleDbException kvůli chybějícímu zdroji dat a pak zobrazí výjimku.
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
Poznámky
Tato třída je vytvořena vždy, když zprostředkovatel dat rozhraní .NET Framework pro OLE DB narazí na chybu vygenerovanou ze serveru. (Chyby na straně klienta se vyvolají jako výjimky modulu runtime standardního společného jazyka.) OleDbException vždy obsahuje alespoň jednu instanci .OleDbError
Pokud je závažnost chyby příliš velká, server může zavřít OleDbConnection. 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 |
Získá HRESULT chyby. |
Errors |
Získá kolekci jednoho nebo více OleDbError objektů, které poskytují podrobné informace o výjimkách generovaných zprostředkovatelem dat rozhraní .NET Framework pro OLE DB. |
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á text popisující chybu. |
Message |
Získá zprávu, která popisuje aktuální výjimku. (Zděděno od Exception) |
Source |
Získá název zprostředkovatele OLE DB, který vygeneroval chybu. |
Source |
Získá nebo nastaví název aplikace nebo objektu, který způsobuje chybu. (Zděděno od Exception) |
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() |
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) |