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