OdbcException-Klasse
Die Ausnahme, die generiert wird, wenn von einer ODBC-Datenquelle eine Warnung oder ein Fehler zurückgegeben wird. Die Klasse kann nicht geerbt werden.
Namespace: System.Data.Odbc
Assembly: System.Data (in system.data.dll)
Syntax
'Declaration
<SerializableAttribute> _
Public NotInheritable Class OdbcException
Inherits DbException
'Usage
Dim instance As OdbcException
[SerializableAttribute]
public sealed class OdbcException : DbException
[SerializableAttribute]
public ref class OdbcException sealed : public DbException
/** @attribute SerializableAttribute() */
public final class OdbcException extends DbException
SerializableAttribute
public final class OdbcException extends DbException
Hinweise
Diese Klasse wird immer dann erstellt, wenn der OdbcDataAdapter auf einen vom Server generierten Fehler stößt (Clientfehler werden als Standardausnahmen der Common Language Runtime ausgelöst). Sie enthält immer mindestens eine Instanz von OdbcError.
Bei Fehlern mit zu hohem Schweregrad schließt der Server ggf. die OdbcConnection. Die Benutzer können die Verbindung aber erneut öffnen und fortfahren.
Beispiel
Im folgenden Beispiel wird wegen einer fehlenden Datenquelle eine OdbcException generiert und die Ausnahme anschließend angezeigt.
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 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 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.");
}
}
Vererbungshierarchie
System.Object
System.Exception
System.SystemException
System.Runtime.InteropServices.ExternalException
System.Data.Common.DbException
System.Data.Odbc.OdbcException
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
Siehe auch
Referenz
OdbcException-Member
System.Data.Odbc-Namespace
OdbcErrorCollection-Klasse