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