OdbcConnection Klasse

Definition

Stellt eine offene Verbindung mit einer Datenquelle dar.Represents an open connection to a data source.

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

Beispiele

Das folgende Beispiel erstellt eine OdbcCommand und ein OdbcConnection.The following example creates an OdbcCommand and an OdbcConnection. Der OdbcConnection wird geöffnet und als Connection-Eigenschaft festgelegt.The OdbcConnection is opened and set as the Connection property. Im Beispiel wird dann ExecuteNonQueryaufgerufen und die Verbindung geschlossen.The example then calls ExecuteNonQuery, and closes the connection. Zu diesem Zweck wird dem ExecuteNonQuery eine Verbindungs Zeichenfolge und eine Abfrage Zeichenfolge, die eine SQL INSERT-Anweisung ist, übermittelt.To accomplish this, the ExecuteNonQuery is passed a connection string and a query string that is an SQL INSERT statement.

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 Verbindungs Zeichenfolge oder eines ODBC-Datenquellen namens (DSN) erstellt wurde.An OdbcConnection object represents a unique connection to a data source created by using a connection string or ODBC data source name (DSN). Bei einem Client/Server-Datenbanksystem entspricht dies einer Netzwerkverbindung mit dem Server.With a client/server database system, it is equivalent to a network connection to the 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.Depending on the functionality supported by the native ODBC driver, some methods or properties of an OdbcConnection object may not be available.

Das OdbcConnection-Objekt verwendet Native Ressourcen wie die ODBC-Umgebung und Verbindungs Handles.The OdbcConnection object uses native resources such as ODBC environment and connection handles. Sie sollten alle geöffneten OdbcConnection Objekte stets explizit schließen, indem Sie Close aufrufen oder verwerfen, bevor das OdbcConnection Objekt den Gültigkeitsbereich verlässt , oder indem Sie die Verbindung innerhalb einer Using Anweisung platzieren.You should always explicitly close any open OdbcConnection objects by calling Close or Dispose before the OdbcConnection object goes out of scope, or by placing the connection within a Using statement. Dadurch wird die Freigabe dieser systemeigenen Ressourcen zu Garbage Collection.Not doing this leaves the freeing of these native resources to garbage collection. Sie werden möglicherweise nicht sofort freigegeben.It might not free them immediately. Dies kann wiederum dazu führen, dass der zugrunde liegende Treiber nicht mehr über genügend Ressourcen verfügt oder einen maximalen Grenzwert erreicht.This, in turn, can eventually cause the underlying driver to run out of resources or reach a maximum limit. Dies hat zu zeitweiligen Fehlern geführt.This has resulted in intermittent failures. Beispielsweise können Maximum Connections Fehler auftreten, während viele Verbindungen vom Garbage Collector gelöscht werden.For example, you might experience Maximum Connections -related errors while many connections are waiting to be deleted by the garbage collector. Das explizite Schließen der Verbindungen ermöglicht eine effizientere Verwendung nativer Ressourcen, verbessert die Skalierbarkeit und verbessert die Gesamtleistung der Anwendung.Explicitly closing the connections allows for a more efficient use of native resources, enhancing scalability and improving overall application performance.

Hinweis

Zum Bereitstellen von Hochleistungsanwendungen müssen häufig Verbindungspooling verwendet werden.To deploy high-performance applications, you frequently must use connection pooling. Wenn Sie jedoch die .NET Framework Datenanbieter für ODBC verwenden, müssen Sie das Verbindungspooling nicht aktivieren, da der Anbieter dies automatisch verwaltet.However, when you use the .NET Framework Data Provider for ODBC, you do not have to enable connection pooling because the provider manages this automatically.

Wenn eine der Execute Methoden der OdbcCommand-Klasse einen schwerwiegenden OdbcException verursacht (z. b. ein SQL Server Schweregrad von 20 oder höher), kann die OdbcConnection geschlossen werden.If one of the Execute methods of the OdbcCommand class causes a fatal OdbcException (for example, a SQL Server severity level of 20 or greater), the OdbcConnection may close. Die Benutzer können die Verbindung aber erneut öffnen und fortfahren.However, the user can reopen the connection and continue.

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 deklarative oder imperative Sicherheitsanforderungen festgelegt werden.An application that creates an instance of the OdbcConnection object can require all direct and indirect callers to have sufficient permission to the code by setting declarative or imperative security demands. OdbcConnection erstellt mithilfe des OdbcPermission-Objekts Sicherheitsanforderungen.OdbcConnection creates security demands by using the OdbcPermission object. Benutzer können überprüfen, ob Ihr Code über ausreichende Berechtigungen verfügt, indem Sie das OdbcPermissionAttribute-Objekt verwenden.Users can verify that their code has sufficient permissions by using the OdbcPermissionAttribute object. Benutzer und Administratoren können auch das Sicherheitsrichtlinien Tool für den Code Zugriff (Caspol. exe) verwenden, um die Sicherheitsrichtlinien auf Computer-, Benutzer-und Unternehmensebene zu ändern.Users and administrators can also use the Code Access Security Policy Tool (Caspol.exe) to modify security policy at the computer, user, and enterprise levels. Weitere Informationen finden Sie unter Code Access Security and ADO.NET.For more information, see Code Access Security and ADO.NET.

Weitere Informationen zur Behandlung von Warn-und Informationsmeldungen aus der Datenquelle finden Sie unter Verbindungs Ereignisse.For more information about handling warning and informational messages from the data source, see Connection Events.

Konstruktoren

OdbcConnection()

Initialisiert eine neue Instanz der OdbcConnection-Klasse.Initializes a new instance of the OdbcConnection class.

OdbcConnection(String)

Initialisiert eine neue Instanz der OdbcConnection-Klasse mit der angegebenen Verbindungszeichenfolge.Initializes a new instance of the OdbcConnection class with the specified connection string.

Eigenschaften

CanRaiseEvents

Ruft einen Wert ab, der angibt, ob die Komponente ein Ereignis auslösen kann.Gets a value indicating whether the component can raise an event.

(Geerbt von Component)
ConnectionString

Ruft die Zeichenfolge zum Öffnen einer Datenquelle ab oder legt diese fest.Gets or sets the string used to open a data source.

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.Gets or sets the time to wait (in seconds) while trying to establish a connection before terminating the attempt and generating an error.

Container

Ruft den IContainer ab, der die Component enthält.Gets the IContainer that contains the Component.

(Geerbt von Component)
Database

Ruft den Namen der aktuellen Datenbank oder der nach dem Öffnen einer Verbindung zu verwendenden Datenbank ab.Gets the name of the current database or the database to be used after a connection is opened.

DataSource

Ruft den Servernamen oder den Dateinamen der Datenquelle ab.Gets the server name or file name of the data source.

DesignMode

Ruft einen Wert ab, der angibt, ob sich Component gegenwärtig im Entwurfsmodus befindet.Gets a value that indicates whether the Component is currently in design mode.

(Geerbt von Component)
Driver

Ruft den Namen des für die aktuelle Verbindung angegebenen ODBC-Treibers ab.Gets the name of the ODBC driver specified for the current connection.

Events

Ruft die Liste der Ereignishandler ab, die dieser Component angefügt sind.Gets the list of event handlers that are attached to this Component.

(Geerbt von Component)
ServerVersion

Ruft eine Zeichenfolge mit der Version des Servers ab, mit der der Client verbunden ist.Gets a string that contains the version of the server to which the client is connected.

Site

Ruft den ISite von Component ab oder legt ihn fest.Gets or sets the ISite of the Component.

(Geerbt von Component)
State

Ruft den aktuellen Zustand der Verbindung ab.Gets the current state of the connection.

Methoden

BeginTransaction()

Startet eine Transaktion an der Datenquelle.Starts a transaction at the data source.

BeginTransaction(IsolationLevel)

Startet eine Transaktion an der Datenquelle mit dem angegebenen IsolationLevel-Wert.Starts a transaction at the data source with the specified IsolationLevel value.

ChangeDatabase(String)

Ändert die aktuelle Datenbank, die einer offenen OdbcConnection zugeordnet ist.Changes the current database associated with an open OdbcConnection.

Close()

Schließt die Verbindung mit der Datenquelle.Closes the connection to the data source.

CreateCommand()

Erstellt ein OdbcCommand-Objekt, das der OdbcConnection zugeordnet ist, und gibt es zurück.Creates and returns an OdbcCommand object associated with the OdbcConnection.

CreateObjRef(Type)

Erstellt ein Objekt mit allen relevanten Informationen, die zum Generieren eines Proxys für die Kommunikation mit einem Remoteobjekt erforderlich sind.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Geerbt von MarshalByRefObject)
Dispose()

Gibt alle vom Component verwendeten Ressourcen frei.Releases all resources used by the Component.

(Geerbt von Component)
Dispose(Boolean)

Gibt die von Component verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei.Releases the unmanaged resources used by the Component and optionally releases the managed resources.

(Geerbt von Component)
EnlistDistributedTransaction(ITransaction)

Trägt sich in der angegebenen Transaktion als verteilte Transaktion ein.Enlists in the specified transaction as a distributed transaction.

EnlistTransaction(Transaction)

Trägt sich in der angegebenen Transaktion als verteilte Transaktion ein.Enlists in the specified transaction as a distributed transaction.

Equals(Object)

Ermittelt, ob das angegebene Objekt und das aktuelle Objekt gleich sind.Determines whether the specified object is equal to the current object.

(Geerbt von Object)
GetHashCode()

Dient als die Standard-HashfunktionServes as the default hash function.

(Geerbt von Object)
GetLifetimeService()

Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinien für diese Instanz steuert.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Geerbt von MarshalByRefObject)
GetSchema()

Gibt Schemainformationen für die Datenquelle dieser OdbcConnection zurück.Returns schema information for the data source of this OdbcConnection.

GetSchema(String)

Gibt Schemainformationen für die Datenquelle dieser OdbcConnection mithilfe des angegebenen Schemanamens zurück.Returns schema information for the data source of this OdbcConnection using the specified name for the schema name.

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.Returns schema information for the data source of this OdbcConnection using the specified string for the schema name and the specified string array for the restriction values.

GetService(Type)

Gibt ein Objekt zurück, das einen von der Component oder von deren Container bereitgestellten Dienst darstellt.Returns an object that represents a service provided by the Component or by its Container.

(Geerbt von Component)
GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Geerbt von Object)
InitializeLifetimeService()

Ruft ein Lebensdauerdienstobjekt zur Steuerung der Lebensdauerrichtlinie für diese Instanz ab.Obtains a lifetime service object to control the lifetime policy for this instance.

(Geerbt von MarshalByRefObject)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Geerbt von Object)
MemberwiseClone(Boolean)

Erstellt eine flache Kopie des aktuellen MarshalByRefObject-Objekts.Creates a shallow copy of the current MarshalByRefObject object.

(Geerbt von MarshalByRefObject)
Open()

Öffnet eine Verbindung mit der Datenquelle anhand der durch ConnectionString angegebenen Eigenschafteneinstellungen.Opens a connection to a data source with the property settings specified by the ConnectionString.

ReleaseObjectPool()

Gibt an, dass das Umgebungshandle des ODBC-Treiber-Managers freigegeben werden kann, wenn die letzte zugrunde liegende Verbindung freigegeben wurde.Indicates that the ODBC Driver Manager environment handle can be released when the last underlying connection is released.

ToString()

Gibt einen String zurück, der den Namen der Component enthält (sofern vorhanden).Returns a String containing the name of the Component, if any. Diese Methode darf nicht überschrieben werden.This method should not be overridden.

(Geerbt von Component)

Ereignisse

Disposed

Tritt ein, wenn die Komponente durch einen Aufruf der Dispose()-Methode freigegeben wird.Occurs when the component is disposed by a call to the Dispose() method.

(Geerbt von Component)
InfoMessage

Tritt beim Senden von Warn- oder Informationsmeldungen durch den ODBC-Treiber auf.Occurs when the ODBC driver sends a warning or an informational message.

StateChange

Tritt auf, wenn sich der Status der Verbindung ändert.Occurs when the state of the connection changes.

Explizite Schnittstellenimplementierungen

ICloneable.Clone()

Eine Beschreibung dieses Elements finden Sie unter Clone().For a description of this member, see Clone().

IDbConnection.BeginTransaction()

Beginnt eine Datenbanktransaktion.Begins a database transaction.

IDbConnection.BeginTransaction(IsolationLevel)

Beginnt eine Datenbanktransaktion mit der angegebenen Isolationsstufe.Begins a database transaction with the specified isolation level.

IDbConnection.CreateCommand()

Erstellt ein command-Objekt, das der Verbindung zugeordnet ist, und gibt dieses zurück.Creates and returns a command object associated with the connection.

Gilt für:

Siehe auch