Sdílet prostřednictvím


OleDbException Třída

Definice

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

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é