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. Das OdbcConnection wird geöffnet und als Connection Eigenschaft festgelegt. Im Beispiel wird dann die Verbindung aufgerufen ExecuteNonQueryund geschlossen. Dazu 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 (DSN) erstellt wird. Mit einem Client-/Serverdatenbanksystem entspricht es einer Netzwerkverbindung mit dem Server. Abhängig von der funktionalität, die vom systemeigenen ODBC-Treiber unterstützt wird, sind möglicherweise einige Methoden oder Eigenschaften eines OdbcConnection Objekts möglicherweise nicht verfügbar.

Das OdbcConnection Objekt verwendet systemeigene Ressourcen wie ODBC-Umgebung und Verbindungshandpunkte. Sie sollten immer alle geöffneten OdbcConnection Objekte explizit schließen , indem Sie das Objekt aufrufen Close oder entsorgen, bevor das OdbcConnection Objekt außerhalb des Bereichs geht, oder indem Sie die Verbindung in einer Using Anweisung platzieren. Dies verlässt nicht das Freihanden dieser nativen Ressourcen, um die Garbage Collection zu sammeln. Es kann sie möglicherweise nicht sofort frei machen. Dies kann wiederum dazu führen, dass der zugrunde liegende Treiber Ressourcen ausläuft oder eine maximale Grenze erreicht. Dies hat zu unterbrechungsübergreifenden Fehlern geführt. Sie können Maximum Connections beispielsweise fehlerverwendbar sein, während viele Verbindungen darauf warten, vom Garbage Collector gelöscht zu werden. Das Explizite Schließen der Verbindungen ermöglicht eine effizientere Verwendung von nativen Ressourcen, die Skalierbarkeit zu verbessern und die gesamte Anwendungsleistung zu verbessern.

Hinweis

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

Wenn eine der Execute Methoden der OdbcCommand Klasse ein tödliches OdbcException (z. B. ein SQL Server Schweregrad von 20 oder höher) verursacht, kann dies OdbcConnection schließen. Die Benutzer können die Verbindung aber 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 zwingende 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 Code Access Security and ADO.NET.

Weitere Informationen zum Behandeln von Warnungs- und Informationsnachrichten 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()

Wenn eine abgeleitete Klasse außer Kraft gesetzt wird, wird eine neue Instanz der Klasse des Anbieters zurückgegeben, 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

Siehe auch