OdbcConnection Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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 |
GetSchemaAsync(String, CancellationToken) |
Dies ist die asynchrone Version von GetSchema(String).
Anbieter sollten mit einer geeigneten Implementierung außer Kraft setzen.
Die |
GetSchemaAsync(String, String[], CancellationToken) |
Dies ist die asynchrone Version von GetSchema(String, String[]).
Anbieter sollten mit einer geeigneten Implementierung außer Kraft setzen.
Die |
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 |
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. |