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
OdbcConnection
Vererbung
Vererbung
Implementiert

Beispiele

Das folgende Beispiel erstellt eine OdbcCommand und ein OdbcConnection. Der OdbcConnection wird geöffnet und als Connection -Eigenschaft festgelegt. Das Beispiel ruft dann auf ExecuteNonQueryund schließt die Verbindung. Um dies zu erreichen, wird eine ExecuteNonQuery 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 wird. Bei einem Client-/Server-Datenbanksystem entspricht dies einer Netzwerkverbindung mit dem Server. Abhängig von der Funktionalität, die vom nativen ODBC-Treiber unterstützt wird, sind einige Methoden oder Eigenschaften eines OdbcConnection Objekts möglicherweise nicht verfügbar.

Das OdbcConnection Objekt verwendet native Ressourcen wie ODBC-Umgebung und Verbindungshandles. Sie sollten alle geöffneten OdbcConnection Objekte immer explizit schließen, indem Sie oder Dispose aufrufenClose, bevor das Objekt aus dem OdbcConnection Bereich entfernt wird, oder indem Sie die Verbindung in einer Using -Anweisung platzieren. Wenn Sie dies nicht tun, bleibt die Freigabe dieser nativen Ressourcen der Garbage Collection. Möglicherweise werden sie nicht sofort freigegeben. Dies kann wiederum dazu führen, dass dem zugrunde liegenden Treiber die Ressourcen ausgehen oder ein Höchstlimit erreicht wird. Dies hat zu zeitweiligen Fehlern geführt. Beispielsweise können Maximum Connections Fehler im Zusammenhang mit dem Garbage Collector auftreten, während viele Verbindungen darauf warten, vom Garbage Collector gelöscht zu werden. Das explizite Schließen der Verbindungen ermöglicht eine effizientere Nutzung nativer Ressourcen, wodurch die Skalierbarkeit verbessert und die Gesamtleistung der Anwendung verbessert wird.

Hinweis

Um hochleistungsfähige Anwendungen bereitzustellen, müssen Sie häufig Verbindungspooling verwenden. Wenn Sie jedoch den .NET Framework-Datenanbieter für ODBC verwenden, müssen Sie das Verbindungspooling nicht aktivieren, da der Anbieter dies automatisch verwaltet.

Wenn eine der Methoden der OdbcCommand -Klasse einen schwerwiegenden OdbcException Fehler verursacht (z. B. ein SQL Server Schweregrad von 20 oder höher), kann sich schließenOdbcConnection.Execute Die Benutzer können die Verbindung aber erneut öffnen und fortfahren.

Eine Anwendung, die eine instance 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 festlegt. OdbcConnection erstellt Sicherheitsanforderungen durch Verwendung des OdbcPermission -Objekts. Benutzer können mithilfe des OdbcPermissionAttribute -Objekts überprüfen, ob ihr Code über ausreichende Berechtigungen verfügt. 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 Code Access Security and ADO.NET.

Weitere Informationen zum Behandeln von Warnungen 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

Ruft die Zeichenfolge zum Öffnen einer Datenquelle ab oder legt diese fest.

ConnectionTimeout

Ruft die Zeit (in Sekunden) ab, die beim Verbindungsaufbau gewartet werden soll, bis der Versuch beendet und ein Fehler generiert wird, oder legt diese fest.

Container

Ruft die IContainer ab, die in der Component enthalten ist.

(Geerbt von Component)
Database

Ruft den Namen der aktuellen Datenbank oder der nach dem Öffnen einer Verbindung zu verwendenden Datenbank ab.

DataSource

Ruft den Servernamen oder den Dateinamen der Datenquelle ab.

DbProviderFactory

Ruft den DbProviderFactory für diesen DbConnection ab.

(Geerbt von DbConnection)
DesignMode

Ruft einen Wert ab, der angibt, ob sich Component gegenwärtig 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 dieser Component angefügt sind.

(Geerbt von Component)
ServerVersion

Ruft eine Zeichenfolge mit der Version des Servers ab, mit der der Client verbunden ist.

Site

Ruft den ISite von Component ab oder legt ihn fest.

(Geerbt von Component)
State

Ruft den aktuellen Zustand der Verbindung ab.

Methoden

BeginDbTransaction(IsolationLevel)

Startet beim Überschreiben in einer abgeleiteten Klasse eine Datenbanktransaktion

(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)

Startet asynchron eine Datenbanktransaktion

(Geerbt von DbConnection)
BeginTransactionAsync(IsolationLevel, CancellationToken)

Startet asynchron eine Datenbanktransaktion

(Geerbt von DbConnection)
ChangeDatabase(String)

Ändert die aktuelle Datenbank, die einer offenen OdbcConnection zugeordnet ist.

ChangeDatabaseAsync(String, CancellationToken)

Ändert asynchron die aktuelle Datenbank für eine offene Verbindung

(Geerbt von DbConnection)
Close()

Schließt die Verbindung mit der Datenquelle.

CloseAsync()

Schließt asynchron die Verbindung mit der Datenbank

(Geerbt von DbConnection)
CreateBatch()

Gibt eine neue Instanz der Klasse des Anbieters zurück, die die DbBatch-Klasse implementiert.

(Geerbt von DbConnection)
CreateCommand()

Erstellt ein OdbcCommand-Objekt, das der OdbcConnection zugeordnet ist, und gibt es zurück.

CreateDbBatch()

Gibt beim Überschreiben in einer abgeleiteten Klasse eine neue instance der Klasse des Anbieters zurück, die die DbBatch Klasse implementiert.

(Geerbt von DbConnection)
CreateDbCommand()

Erstellt beim Überschreiben in einer abgeleiteten Klasse ein DbCommand-Objekt, das der aktuellen Verbindung zugeordnet ist, und gibt es zurück

(Geerbt von DbConnection)
CreateObjRef(Type)

Erstellt ein Objekt mit allen relevanten Informationen, die zum Generieren eines Proxys für die Kommunikation mit einem Remoteobjekt erforderlich sind.

(Geerbt von MarshalByRefObject)
Dispose()

Führt anwendungsspezifische Aufgaben durch, die mit der Freigabe, der Zurückgabe oder dem Zurücksetzen von nicht verwalteten Ressourcen zusammenhängen.

(Geerbt von DbConnection)
Dispose()

Gibt alle vom Component verwendeten Ressourcen frei.

(Geerbt von Component)
Dispose(Boolean)

Gibt die von DbConnection verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei.

(Geerbt von DbConnection)
Dispose(Boolean)

Gibt die von Component verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei.

(Geerbt von Component)
DisposeAsync()

Stellt das Verbindungsobjekt asynchron bereit

(Geerbt von DbConnection)
EnlistDistributedTransaction(ITransaction)

Trägt sich in der angegebenen Transaktion als verteilte Transaktion ein.

EnlistTransaction(Transaction)

Trägt sich in der angegebenen Transaktion als verteilte Transaktion ein.

EnlistTransaction(Transaction)

Führt zu einem Eintrag in der angegebenen Transaktion.

(Geerbt von DbConnection)
Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetLifetimeService()
Veraltet.

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

(Geerbt von MarshalByRefObject)
GetSchema()

Gibt Schemainformationen für die Datenquelle dieser OdbcConnection zurück.

GetSchema()

Gibt Schemainformationen für die Datenquelle dieser DbConnection zurück.

(Geerbt von DbConnection)
GetSchema(String)

Gibt Schemainformationen für die Datenquelle dieser OdbcConnection mithilfe des angegebenen Schemanamens zurück.

GetSchema(String)

Gibt Schemainformationen für die Datenquelle dieser DbConnection mithilfe der angegebenen Zeichenfolge des Schemanamens zurück.

(Geerbt von DbConnection)
GetSchema(String, String[])

Gibt Schemainformationen für die Datenquelle dieser OdbcConnection mithilfe der angegebenen Zeichenfolge des Schemanamens und des angegebenen Zeichenfolgenarrays der Einschränkungswerte zurück.

GetSchema(String, String[])

Gibt Schemainformationen für die Datenquelle dieser DbConnection mithilfe der angegebenen Zeichenfolge des Schemanamens und des angegebenen Zeichenfolgenarrays der Einschränkungswerte zurück.

(Geerbt von DbConnection)
GetSchemaAsync(CancellationToken)

Dies ist eine asynchrone Version von GetSchema(). Anbieter sollten mit einer entsprechenden Implementierung überschreiben. Das cancellationToken kann optional berücksichtigt werden. Die Standardimplementierung ruft den asynchronen GetSchema()-Aufruf auf und gibt eine abgeschlossene Aufgabe zurück. Die Standardimplementierung gibt eine abgebrochene Aufgabe zurück, wenn sie einen bereits abgebrochenen cancellationToken erhalten wird. Die Ausnahmen, die von GetSchema() ausgelöst werden, werden über die zurückgegebene Task Exception-Eigenschaft übermittelt.

(Geerbt von DbConnection)
GetSchemaAsync(String, CancellationToken)

Dies ist die asynchrone Version von GetSchema(String). Anbieter sollten mit einer entsprechenden Implementierung überschreiben. Das cancellationToken kann optional berücksichtigt werden. Die Standardimplementierung ruft den asynchronen GetSchema(String)-Aufruf auf und gibt eine abgeschlossene Aufgabe zurück. Die Standardimplementierung gibt eine abgebrochene Aufgabe zurück, wenn sie einen bereits abgebrochenen cancellationToken erhalten wird. Die Ausnahmen, die von GetSchema(String) ausgelöst werden, werden über die zurückgegebene Task Exception-Eigenschaft übermittelt.

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

Dies ist die asynchrone Version von GetSchema(String, String[]). Anbieter sollten mit einer entsprechenden Implementierung überschreiben. Das cancellationToken kann optional berücksichtigt werden. Die Standardimplementierung ruft den asynchronen GetSchema(String, String[])-Aufruf auf und gibt eine abgeschlossene Aufgabe zurück. Die Standardimplementierung gibt eine abgebrochene Aufgabe zurück, wenn sie einen bereits abgebrochenen cancellationToken erhalten wird. Die Ausnahmen, die von GetSchema(String, String[]) ausgelöst werden, werden über die zurückgegebene Task Exception-Eigenschaft übermittelt.

(Geerbt von DbConnection)
GetService(Type)

Gibt ein Objekt zurück, das einen von der Component oder von deren Container bereitgestellten Dienst darstellt.

(Geerbt von Component)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
InitializeLifetimeService()
Veraltet.

Ruft ein Lebensdauerdienstobjekt zur Steuerung der Lebensdauerrichtlinie für diese Instanz ab.

(Geerbt von MarshalByRefObject)
MemberwiseClone()

Erstellt eine flache Kopie des 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 der Datenquelle anhand der durch ConnectionString angegebenen Eigenschafteneinstellungen.

OpenAsync()

Eine asynchrone Version von Open(), die eine Datenbankverbindung mit den Einstellungen öffnet, die durch ConnectionString angegeben werden. 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 entsprechenden Implementierung überschreiben. Das Abbruchtoken kann optional berücksichtigt werden.

Die Standardimplementierung ruft den asynchronen Open()-Aufruf auf und gibt eine abgeschlossene Aufgabe zurück. Die Standardimplementierung gibt eine abgebrochene Aufgabe zurück, wenn sie einen bereits abgebrochenen cancellationToken erhalten hat. Die Ausnahmen, die von Open ausgelöst werden, werden über die zurückgegebene Task Exception-Eigenschaft übermittelt.

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

(Geerbt von DbConnection)
ReleaseObjectPool()

Gibt an, dass das Umgebungshandle des ODBC-Treiber-Managers freigegeben werden kann, wenn die letzte zugrunde liegende Verbindung freigegeben wurde.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)
ToString()

Gibt einen String zurück, der den Namen der Component enthält (sofern vorhanden). Diese Methode darf nicht überschrieben werden.

(Geerbt von Component)

Ereignisse

Disposed

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

(Geerbt von Component)
InfoMessage

Tritt beim Senden von Warn- oder Informationsmeldungen durch den ODBC-Treiber auf.

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 Elements 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 ein command-Objekt, das der Verbindung zugeordnet ist, und gibt dieses zurück.

IDbConnection.CreateCommand()

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

(Geerbt von DbConnection)

Gilt für:

Weitere Informationen