Freigeben über


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

Weitere Ressourcen

Übersicht über Ausnahmen