Freigeben über


OleDbException-Klasse

Die Ausnahme, die ausgelöst wird, wenn der zugrunde liegende Provider eine Warnung oder einen Fehler für eine OLE DB-Datenquelle zurückgibt. Diese Klasse kann nicht geerbt werden.

Namespace: System.Data.OleDb
Assembly: System.Data (in system.data.dll)

Syntax

'Declaration
<SerializableAttribute> _
Public NotInheritable Class OleDbException
    Inherits DbException
'Usage
Dim instance As OleDbException
[SerializableAttribute] 
public sealed class OleDbException : DbException
[SerializableAttribute] 
public ref class OleDbException sealed : public DbException
/** @attribute SerializableAttribute() */ 
public final class OleDbException extends DbException
SerializableAttribute 
public final class OleDbException extends DbException

Hinweise

Diese Klasse wird erstellt, wenn der .NET Framework-Datenprovider für OLE DB einen vom Server generierten Fehler entdeckt. (Clientseitige Fehler werden als Standardausnahmen der Common Language Runtime ausgelöst.) OleDbException enthält immer mindestens eine Instanz von OleDbError.

Bei Fehlern mit zu hohem Schweregrad schließt der Server ggf. die OleDbConnection. Die Benutzer können die Verbindung aber erneut öffnen und fortfahren.

Beispiel

Im folgenden Beispiel wird wegen einer fehlenden Datenquelle eine OleDbException generiert und die Ausnahme anschließend angezeigt.

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 System.Diagnostics.EventLog = 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
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.");
   }
}

Vererbungshierarchie

System.Object
   System.Exception
     System.SystemException
       System.Runtime.InteropServices.ExternalException
         System.Data.Common.DbException
          System.Data.OleDb.OleDbException

Threadsicherheit

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Plattformen

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

OleDbException-Member
System.Data.OleDb-Namespace
OleDbErrorCollection-Klasse

Weitere Ressourcen

Übersicht über Ausnahmen