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

Beispiele

Im folgenden Beispiel wird eine OdbcCommand und eine OdbcConnection. Das OdbcConnection Wird geöffnet und als Connection Eigenschaft festgelegt. Im Beispiel wird dann die Verbindung aufgerufen ExecuteNonQueryund geschlossen. Dazu wird eine Verbindungszeichenfolge und eine Abfragezeichenfolge übergeben, ExecuteNonQuery 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 zu einer Datenquelle dar, die mithilfe einer Verbindungszeichenfolge oder eines ODBC-Datenquellennamens (DATA Source Name, DSN) erstellt wird. Bei einem Client-/Serverdatenbanksystem entspricht es einer Netzwerkverbindung mit dem Server. Abhängig von der vom systemeigenen ODBC-Treiber unterstützten Funktionalität sind möglicherweise einige Methoden oder Eigenschaften eines OdbcConnection Objekts 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 die Objekte aufrufen Close oder verwerfen , 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 -related Fehler auftreten Maximum Connections , 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 einen schwerwiegenden OdbcException (z. B. einen SQL Server-Schweregrad von 20 oder höher) verursacht, kann dies OdbcConnection geschlossen werden. 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 Code Access Security und ADO.NET.

Weitere Informationen zum Behandeln von Warnungen und Informationsmeldungen aus der Datenquelle finden Sie unter "Verbindungsereignisse".

Konstruktoren

Name Beschreibung
OdbcConnection()

Initialisiert eine neue Instanz der OdbcConnection-Klasse.

OdbcConnection(String)

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

Eigenschaften

Name Beschreibung
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 das, das IContainer die Component.

(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 dies DbProviderFactoryDbConnectionab.

(Geerbt von DbConnection)
DesignMode

Ruft einen Wert ab, der angibt, ob sich der Component Entwurfsmodus derzeit 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 ISite Abrufen oder Festlegen des Werts des Component.

(Geerbt von Component)
State

Ruft den aktuellen Status der Verbindung ab.

Methoden

Name Beschreibung
BeginDbTransaction(IsolationLevel)

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

(Geerbt von DbConnection)
BeginTransaction()

Startet eine Transaktion an der Datenquelle.

BeginTransaction(IsolationLevel)

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

ChangeDatabase(String)

Ändert die aktuelle Datenbank, die einer geöffneten OdbcConnectionDatenbank zugeordnet ist.

Close()

Schließt die Verbindung mit der Datenquelle.

CreateCommand()

Erstellt und gibt ein OdbcCommand Objekt zurück, das der OdbcConnection.

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

Veröffentlicht alle ressourcen, die von der Component.

(Geerbt von Component)
Dispose(Boolean)

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

(Geerbt von Component)
EnlistDistributedTransaction(ITransaction)

Enlists in der angegebenen Transaktion als verteilte Transaktion.

EnlistTransaction(Transaction)

Enlists in der angegebenen Transaktion als verteilte Transaktion.

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 Werts OdbcConnectionzurück.

GetSchema(String, String[])

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

GetSchema(String)

Gibt Schemainformationen für die Datenquelle zurück OdbcConnection , die den angegebenen Namen für den Schemanamen verwendet.

GetService(Type)

Gibt ein Objekt zurück, das einen Dienst darstellt, der von der Component oder dem zugehörigen ContainerDienst bereitgestellt 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 durch die ConnectionString.

OpenAsync()

Eine asynchrone Version von Open(), die eine Datenbankverbindung mit den einstellungen öffnet, die durch die ConnectionString. 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, wenn 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 mit dem Namen des Component, falls vorhanden, zurück. Diese Methode sollte nicht außer Kraft gesetzt werden.

(Geerbt von Component)

Ereignisse

Name Beschreibung
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

Name Beschreibung
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)

Gilt für:

Weitere Informationen