Freigeben über


OdbcConnection Klasse

Definition

Stellt eine offene Verbindung mit einer Datenquelle dar.

public ref class OdbcConnection sealed : System::Data::Common::DbConnection, ICloneable
public ref class OdbcConnection sealed : System::ComponentModel::Component, ICloneable, IDisposable, System::Data::IDbConnection
public sealed class OdbcConnection : System.Data.Common.DbConnection, ICloneable
public sealed class OdbcConnection : System.ComponentModel.Component, ICloneable, IDisposable, System.Data.IDbConnection
type OdbcConnection = class
    inherit DbConnection
    interface ICloneable
type OdbcConnection = class
    inherit Component
    interface ICloneable
    interface IDbConnection
    interface IDisposable
Public NotInheritable Class OdbcConnection
Inherits DbConnection
Implements ICloneable
Public NotInheritable Class OdbcConnection
Inherits Component
Implements ICloneable, IDbConnection, IDisposable
Vererbung
Vererbung
Implementiert

Beispiele

Im folgenden Beispiel wird ein OdbcCommand und ein OdbcConnectionerstellt. Die OdbcConnection wird geöffnet und als Connection-Eigenschaft festgelegt. Anschließend ruft das Beispiel ExecuteNonQueryauf und schließt die Verbindung. Dazu wird die ExecuteNonQuery eine Verbindungszeichenfolge und eine Abfragezeichenfolge übergeben, die eine SQL INSERT-Anweisung ist.

static private void InsertRow(string connectionString)
{
    string queryString =
        "INSERT INTO Customers (CustomerID, CompanyName) Values('NWIND', 'Northwind Traders')";
    OdbcCommand command = new OdbcCommand(queryString);

    using (OdbcConnection connection = new OdbcConnection(connectionString))
    {
        command.Connection = connection;
        connection.Open();
        command.ExecuteNonQuery();

        // The connection is automatically closed at
        // the end of the Using block.
    }
}
Private Sub InsertRow(ByVal connectionString As String)

    Dim queryString As String = _
        "INSERT INTO Customers (CustomerID, CompanyName) Values('NWIND', 'Northwind Traders')"
    Dim command As New OdbcCommand(queryString)

    Using connection As New OdbcConnection(connectionString)
        command.Connection = connection
        connection.Open()
        command.ExecuteNonQuery()

        ' The connection is automatically closed at 
        ' the end of the Using block.
    End Using
End Sub

Hinweise

Ein OdbcConnection-Objekt stellt eine eindeutige Verbindung mit einer Datenquelle dar, die mithilfe einer Verbindungszeichenfolge oder eines ODBC-Datenquellennamens (ODBC Data Source Name, DSN) erstellt wurde. Bei einem Client-/Serverdatenbanksystem entspricht es einer Netzwerkverbindung mit dem Server. Abhängig von der vom systemeigenen ODBC-Treiber unterstützten Funktionalität sind einige Methoden oder Eigenschaften eines OdbcConnection Objekts möglicherweise nicht verfügbar.

Das OdbcConnection-Objekt verwendet systemeigene Ressourcen wie ODBC-Umgebung und Verbindungshandles. Sie sollten alle geöffneten OdbcConnection Objekte immer explizit schließen, indem Sie Close oder Dispose aufrufen, bevor das OdbcConnection-Objekt den Gültigkeitsbereich überschreitet, oder indem Sie die Verbindung in einer Using-Anweisung platzieren. Dies lässt die Freigabe dieser systemeigenen Ressourcen nicht in die Garbage Collection. Möglicherweise wird sie nicht sofort freigegeben. Dies kann wiederum dazu führen, dass der zugrunde liegende Treiber nicht mehr Ressourcen enthält oder einen maximalen Grenzwert erreicht. Dies hat zu zeitweiligen Fehlern geführt. Beispielsweise können Maximum Connections -related Fehler auftreten, während viele Verbindungen warten, bis sie vom Garbage Collector gelöscht werden. Das explizite Schließen der Verbindungen ermöglicht eine effizientere Nutzung systemeigener Ressourcen, die Skalierbarkeit zu verbessern und die gesamte Anwendungsleistung zu verbessern.

Anmerkung

Zum Bereitstellen leistungsstarker Anwendungen müssen Sie häufig Verbindungspooling verwenden. Wenn Sie jedoch den .NET Framework-Datenanbieter für ODBC verwenden, müssen Sie keine Verbindungspooling aktivieren, da der Anbieter dies automatisch verwaltet.

Wenn eine der Execute Methoden der OdbcCommand Klasse zu einem schwerwiegenden OdbcException führt (z. B. eine SQL Server-Schweregrad von 20 oder höher), kann die OdbcConnection schließen. Der Benutzer kann die Verbindung jedoch erneut öffnen und fortfahren.

Eine Anwendung, die eine Instanz des OdbcConnection-Objekts erstellt, kann erfordern, dass alle direkten und indirekten Aufrufer über ausreichende Berechtigungen für den Code verfügen, indem sie deklarative oder imperative Sicherheitsanforderungen festlegen. OdbcConnection erstellt Sicherheitsanforderungen mithilfe des OdbcPermission-Objekts. Benutzer können überprüfen, ob ihr Code über ausreichende Berechtigungen verfügt, indem sie das OdbcPermissionAttribute-Objekt verwenden. Benutzer und Administratoren können auch das Code Access Security Policy Tool (Caspol.exe) verwenden, um die Sicherheitsrichtlinie auf Computer-, Benutzer- und Unternehmensebene zu ändern. Weitere Informationen finden Sie unter CodeZugriffssicherheit und ADO.NET.

Weitere Informationen zum Behandeln von Warnungs- und Informationsmeldungen aus der Datenquelle finden Sie unter Verbindungsereignisse.

Konstruktoren

OdbcConnection()

Initialisiert eine neue Instanz der OdbcConnection Klasse.

OdbcConnection(String)

Initialisiert eine neue Instanz der OdbcConnection Klasse mit der angegebenen Verbindungszeichenfolge.

Eigenschaften

CanCreateBatch

Ruft einen Wert ab, der angibt, ob diese DbConnection Instanz die DbBatch Klasse unterstützt.

(Geerbt von DbConnection)
CanRaiseEvents

Ruft einen Wert ab, der angibt, ob die Komponente ein Ereignis auslösen kann.

(Geerbt von Component)
ConnectionString

Dient zum Abrufen oder Festlegen der Zeichenfolge, die zum Öffnen einer Datenquelle verwendet wird.

ConnectionTimeout

Ruft die Wartezeit (in Sekunden) ab oder legt sie fest, während versucht wird, eine Verbindung herzustellen, bevor der Versuch beendet und ein Fehler generiert wird.

Container

Ruft die IContainer ab, die den Componententhält.

(Geerbt von Component)
Database

Ruft den Namen der aktuellen Datenbank oder der Datenbank ab, die nach dem Öffnen einer Verbindung verwendet werden soll.

DataSource

Ruft den Servernamen oder Dateinamen der Datenquelle ab.

DbProviderFactory

Ruft die DbProviderFactory für diese DbConnectionab.

(Geerbt von DbConnection)
DesignMode

Ruft einen Wert ab, der angibt, ob sich die Component derzeit im Entwurfsmodus befindet.

(Geerbt von Component)
Driver

Ruft den Namen des für die aktuelle Verbindung angegebenen ODBC-Treibers ab.

Events

Ruft die Liste der Ereignishandler ab, die an diese Componentangefügt sind.

(Geerbt von Component)
ServerVersion

Ruft eine Zeichenfolge ab, die die Version des Servers enthält, mit dem der Client verbunden ist.

Site

Dient zum Abrufen oder Festlegen des ISite des Component.

(Geerbt von Component)
State

Ruft den aktuellen Status der Verbindung ab.

Methoden

BeginDbTransaction(IsolationLevel)

Wenn eine abgeleitete Klasse überschrieben wird, wird eine Datenbanktransaktion gestartet.

(Geerbt von DbConnection)
BeginDbTransactionAsync(IsolationLevel, CancellationToken)

Startet asynchron eine Datenbanktransaktion.

(Geerbt von DbConnection)
BeginTransaction()

Startet eine Transaktion an der Datenquelle.

BeginTransaction(IsolationLevel)

Startet eine Transaktion an der Datenquelle mit dem angegebenen IsolationLevel Wert.

BeginTransactionAsync(CancellationToken)

Beginnt asynchron eine Datenbanktransaktion.

(Geerbt von DbConnection)
BeginTransactionAsync(IsolationLevel, CancellationToken)

Beginnt asynchron eine Datenbanktransaktion.

(Geerbt von DbConnection)
ChangeDatabase(String)

Ändert die aktuelle Datenbank, die einem geöffneten OdbcConnectionzugeordnet ist.

ChangeDatabaseAsync(String, CancellationToken)

Ändert asynchron die aktuelle Datenbank für eine geöffnete Verbindung.

(Geerbt von DbConnection)
Close()

Schließt die Verbindung mit der Datenquelle.

CloseAsync()

Schließt die Verbindung mit der Datenbank asynchron.

(Geerbt von DbConnection)
CreateBatch()

Gibt eine neue Instanz der Anbieterklasse zurück, die die DbBatch Klasse implementiert.

(Geerbt von DbConnection)
CreateCommand()

Erstellt und gibt ein OdbcCommand-Objekt zurück, das dem OdbcConnectionzugeordnet ist.

CreateDbBatch()

Wenn eine abgeleitete Klasse überschrieben wird, wird eine neue Instanz der Klasse des Anbieters zurückgegeben, die die DbBatch Klasse implementiert.

(Geerbt von DbConnection)
CreateDbCommand()

Wenn eine abgeleitete Klasse überschrieben wird, wird ein DbCommand Objekt erstellt und zurückgegeben, das der aktuellen Verbindung zugeordnet ist.

(Geerbt von DbConnection)
CreateObjRef(Type)

Erstellt ein Objekt, das alle relevanten Informationen enthält, die zum Generieren eines Proxys erforderlich sind, der für die Kommunikation mit einem Remoteobjekt verwendet wird.

(Geerbt von MarshalByRefObject)
Dispose()

Führt anwendungsdefinierte Aufgaben aus, die mit dem Freigeben, Freigeben oder Zurücksetzen nicht verwalteter Ressourcen verknüpft sind.

(Geerbt von DbConnection)
Dispose()

Gibt alle vom Componentverwendeten Ressourcen frei.

(Geerbt von Component)
Dispose(Boolean)

Gibt die nicht verwalteten Ressourcen frei, die vom DbConnection verwendet werden, und gibt optional die verwalteten Ressourcen frei.

(Geerbt von DbConnection)
Dispose(Boolean)

Gibt die nicht verwalteten Ressourcen frei, die vom Component verwendet werden, und gibt optional die verwalteten Ressourcen frei.

(Geerbt von Component)
DisposeAsync()

Das Verbindungsobjekt wird asynchron eingetaucht.

(Geerbt von DbConnection)
EnlistDistributedTransaction(ITransaction)

Enlists in der angegebenen Transaktion als verteilte Transaktion.

EnlistTransaction(Transaction)

Enlists in der angegebenen Transaktion als verteilte Transaktion.

EnlistTransaction(Transaction)

Enlists in der angegebenen Transaktion.

(Geerbt von DbConnection)
Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetLifetimeService()
Veraltet.

Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinie für diese Instanz steuert.

(Geerbt von MarshalByRefObject)
GetSchema()

Gibt Schemainformationen für die Datenquelle dieses OdbcConnectionzurück.

GetSchema(String)

Gibt Schemainformationen für die Datenquelle dieses OdbcConnection mithilfe des angegebenen Namens für den Schemanamen zurück.

GetSchema(String, String[])

Gibt Schemainformationen für die Datenquelle dieses OdbcConnection zurück, wobei die angegebene Zeichenfolge für den Schemanamen und das angegebene Zeichenfolgenarray für die Einschränkungswerte verwendet wird.

GetSchemaAsync(CancellationToken)

Dies ist eine asynchrone Version von GetSchema(). Anbieter sollten mit einer geeigneten Implementierung außer Kraft setzen. Die cancellationToken können optional berücksichtigt werden. Die Standardimplementierung ruft den synchronen GetSchema() Aufruf auf und gibt eine abgeschlossene Aufgabe zurück. Die Standardimplementierung gibt eine abgebrochene Aufgabe zurück, wenn eine bereits abgebrochene cancellationTokenübergeben wurde. Ausnahmen, die von GetSchema() ausgelöst werden, werden über die zurückgegebene Task Exception-Eigenschaft kommuniziert.

(Geerbt von DbConnection)
GetSchemaAsync(String, CancellationToken)

Dies ist die asynchrone Version von GetSchema(String). Anbieter sollten mit einer geeigneten Implementierung außer Kraft setzen. Die cancellationToken können optional berücksichtigt werden. Die Standardimplementierung ruft den synchronen GetSchema(String) Aufruf auf und gibt eine abgeschlossene Aufgabe zurück. Die Standardimplementierung gibt eine abgebrochene Aufgabe zurück, wenn eine bereits abgebrochene cancellationTokenübergeben wurde. Ausnahmen, die von GetSchema(String) ausgelöst werden, werden über die zurückgegebene Task Exception-Eigenschaft kommuniziert.

(Geerbt von DbConnection)
GetSchemaAsync(String, String[], CancellationToken)

Dies ist die asynchrone Version von GetSchema(String, String[]). Anbieter sollten mit einer geeigneten Implementierung außer Kraft setzen. Die cancellationToken können optional berücksichtigt werden. Die Standardimplementierung ruft den synchronen GetSchema(String, String[]) Aufruf auf und gibt eine abgeschlossene Aufgabe zurück. Die Standardimplementierung gibt eine abgebrochene Aufgabe zurück, wenn eine bereits abgebrochene cancellationTokenübergeben wurde. Ausnahmen, die von GetSchema(String, String[]) ausgelöst werden, werden über die zurückgegebene Task Exception-Eigenschaft kommuniziert.

(Geerbt von DbConnection)
GetService(Type)

Gibt ein Objekt zurück, das einen Dienst darstellt, der vom Component oder von seinem Containerbereitgestellt wird.

(Geerbt von Component)
GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
InitializeLifetimeService()
Veraltet.

Ruft ein Lebensdauerdienstobjekt ab, um die Lebensdauerrichtlinie für diese Instanz zu steuern.

(Geerbt von MarshalByRefObject)
MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
MemberwiseClone(Boolean)

Erstellt eine flache Kopie des aktuellen MarshalByRefObject-Objekts.

(Geerbt von MarshalByRefObject)
OnStateChange(StateChangeEventArgs)

Löst das StateChange-Ereignis aus.

(Geerbt von DbConnection)
Open()

Öffnet eine Verbindung mit einer Datenquelle mit den eigenschafteneinstellungen, die vom ConnectionStringangegeben werden.

OpenAsync()

Eine asynchrone Version von Open(), die eine Datenbankverbindung mit den durch die ConnectionStringangegebenen Einstellungen öffnet. Diese Methode ruft die virtuelle Methode OpenAsync(CancellationToken) mit CancellationToken.None auf.

(Geerbt von DbConnection)
OpenAsync(CancellationToken)

Dies ist die asynchrone Version von Open(). Anbieter sollten mit einer geeigneten Implementierung außer Kraft setzen. Das Abbruchtoken kann optional berücksichtigt werden.

Die Standardimplementierung ruft den synchronen Open() Aufruf auf und gibt eine abgeschlossene Aufgabe zurück. Die Standardimplementierung gibt eine abgebrochene Aufgabe zurück, wenn ein bereits abgebrochenes cancellationToken übergeben wurde. Ausnahmen, die von Open ausgelöst werden, werden über die zurückgegebene Task Exception-Eigenschaft kommuniziert.

Rufen Sie erst andere Methoden und Eigenschaften des DbConnection-Objekts auf, bis die zurückgegebene Aufgabe abgeschlossen ist.

(Geerbt von DbConnection)
ReleaseObjectPool()

Gibt an, dass das ODBC-Treiber-Manager-Umgebungshandle freigegeben werden kann, wenn die letzte zugrunde liegende Verbindung freigegeben wird.

ToString()

Gibt einen String zurück, der den Namen der Componententhält, falls vorhanden. Diese Methode sollte nicht außer Kraft gesetzt werden.

(Geerbt von Component)

Ereignisse

Disposed

Tritt auf, wenn die Komponente durch einen Aufruf der Dispose() -Methode verworfen wird.

(Geerbt von Component)
InfoMessage

Tritt auf, wenn der ODBC-Treiber eine Warnung oder eine Informationsmeldung sendet.

StateChange

Tritt auf, wenn sich der Status der Verbindung ändert.

StateChange

Tritt auf, wenn sich der Status der Verbindung ändert.

(Geerbt von DbConnection)

Explizite Schnittstellenimplementierungen

ICloneable.Clone()

Eine Beschreibung dieses Mitglieds finden Sie unter Clone().

IDbConnection.BeginTransaction()

Diese API unterstützt die Produktinfrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code gedacht.

Beginnt eine Datenbanktransaktion.

IDbConnection.BeginTransaction()

Beginnt eine Datenbanktransaktion.

(Geerbt von DbConnection)
IDbConnection.BeginTransaction(IsolationLevel)

Diese API unterstützt die Produktinfrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code gedacht.

Beginnt eine Datenbanktransaktion mit der angegebenen Isolationsstufe.

IDbConnection.BeginTransaction(IsolationLevel)

Beginnt eine Datenbanktransaktion mit der angegebenen Isolationsstufe.

(Geerbt von DbConnection)
IDbConnection.CreateCommand()

Diese API unterstützt die Produktinfrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code gedacht.

Erstellt und gibt ein Befehlsobjekt zurück, das der Verbindung zugeordnet ist.

IDbConnection.CreateCommand()

Erstellt und gibt ein DbCommand -Objekt zurück, das der aktuellen Verbindung zugeordnet ist.

(Geerbt von DbConnection)

Erweiterungsmethoden

ConfigureAwait(IAsyncDisposable, Boolean)

Konfiguriert, wie auf die von einem asynchronen Einweg zurückgegebenen Aufgaben gewartet wird.

Gilt für:

Weitere Informationen