Sdílet prostřednictvím


OdbcConnection Třída

Definice

Představuje otevřené připojení ke zdroji dat.

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
Dědičnost
Dědičnost
Implementuje

Příklady

Následující příklad vytvoří OdbcCommand a OdbcConnection. OdbcConnection je otevřen a nastaven jako vlastnost Connection. Příklad pak volá ExecuteNonQuerya zavře připojení. K tomu se ExecuteNonQuery předá připojovací řetězec a řetězec dotazu, který je příkazem SQL INSERT.

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

Poznámky

Objekt OdbcConnection představuje jedinečné připojení ke zdroji dat vytvořenému pomocí připojovacího řetězce nebo názvu zdroje dat ODBC (DSN). V případě databázového systému klienta nebo serveru je ekvivalentem síťového připojení k serveru. V závislosti na funkcích podporovaných nativním ovladačem ODBC nemusí být některé metody nebo vlastnosti objektu OdbcConnection k dispozici.

Objekt OdbcConnection používá nativní prostředky, jako jsou prostředí ODBC a popisovače připojení. Všechny otevřené OdbcConnection objekty byste měli vždy explicitně zavřít voláním Close nebo Dispose před tím, než objekt OdbcConnection přejde mimo rozsah, nebo umístěním připojení do příkazu Using. Tím nezanecháte uvolnění těchto nativních prostředků na uvolňování paměti. Nemusí je okamžitě uvolnit. To může nakonec způsobit, že podkladový ovladač dojde k prostředkům nebo dosáhne maximálního limitu. Výsledkem byla přerušovaná selhání. Můžete například zaznamenat chyby Maximum Connections -related, zatímco mnoho připojení čeká na odstranění uvolňováním paměti. Explicitní zavření připojení umožňuje efektivnější využití nativních prostředků, zvýšení škálovatelnosti a zlepšení celkového výkonu aplikace.

Poznámka

Pokud chcete nasadit vysoce výkonné aplikace, musíte často používat sdružování připojení. Pokud však použijete zprostředkovatele dat rozhraní .NET Framework pro rozhraní ODBC, není nutné povolit sdružování připojení, protože zprostředkovatel to spravuje automaticky.

Pokud jedna z Execute metod třídy OdbcCommand způsobí závažnou OdbcException (například úroveň závažnosti SQL Serveru 20 nebo vyšší), může OdbcConnection zavřít. Uživatel ale může znovu otevřít připojení a pokračovat.

Aplikace, která vytvoří instanci objektu OdbcConnection, může vyžadovat, aby všichni přímá a nepřímí volající měli dostatečná oprávnění k kódu nastavením deklarativních nebo imperativních požadavků na zabezpečení. OdbcConnection vytváří požadavky na zabezpečení pomocí objektu OdbcPermission. Uživatelé můžou pomocí objektu OdbcPermissionAttribute ověřit, že má kód dostatečná oprávnění. Uživatelé a správci můžou také použít nástroj zásad zabezpečení přístupu kódu (Caspol.exe) k úpravě zásad zabezpečení na úrovni počítače, uživatele a podniku. Další informace najdete v tématu Zabezpečení přístupu kódu a ADO.NET.

Další informace o zpracování upozornění a informačních zpráv ze zdroje dat najdete v tématu Události připojení.

Konstruktory

OdbcConnection()

Inicializuje novou instanci OdbcConnection třídy.

OdbcConnection(String)

Inicializuje novou instanci OdbcConnection třídy se zadaným připojovacím řetězcem.

Vlastnosti

CanCreateBatch

Získá hodnotu, která označuje, zda tato DbConnection instance podporuje DbBatch třídy.

(Zděděno od DbConnection)
CanRaiseEvents

Získá hodnotu určující, zda komponenta může vyvolat událost.

(Zděděno od Component)
ConnectionString

Získá nebo nastaví řetězec použitý k otevření zdroje dat.

ConnectionTimeout

Získá nebo nastaví dobu čekání (v sekundách) při pokusu o navázání připojení před ukončením pokusu a generování chyby.

Container

Získá IContainer, který obsahuje Component.

(Zděděno od Component)
Database

Získá název aktuální databáze nebo databáze, která se má použít po otevření připojení.

DataSource

Získá název serveru nebo název souboru zdroje dat.

DbProviderFactory

Získá DbProviderFactory pro tento DbConnection.

(Zděděno od DbConnection)
DesignMode

Získá hodnotu, která označuje, zda Component je aktuálně v režimu návrhu.

(Zděděno od Component)
Driver

Získá název ovladače ODBC zadaného pro aktuální připojení.

Events

Získá seznam obslužných rutin událostí, které jsou připojeny k tomuto Component.

(Zděděno od Component)
ServerVersion

Získá řetězec obsahující verzi serveru, ke kterému je klient připojen.

Site

Získá nebo nastaví ISiteComponent.

(Zděděno od Component)
State

Získá aktuální stav připojení.

Metody

BeginDbTransaction(IsolationLevel)

Při přepsání v odvozené třídě, spustí databázové transakce.

(Zděděno od DbConnection)
BeginDbTransactionAsync(IsolationLevel, CancellationToken)

Asynchronně spustí databázovou transakci.

(Zděděno od DbConnection)
BeginTransaction()

Spustí transakci ve zdroji dat.

BeginTransaction(IsolationLevel)

Spustí transakci ve zdroji dat se zadanou hodnotou IsolationLevel.

BeginTransactionAsync(CancellationToken)

Asynchronní zahájení databázové transakce.

(Zděděno od DbConnection)
BeginTransactionAsync(IsolationLevel, CancellationToken)

Asynchronní zahájení databázové transakce.

(Zděděno od DbConnection)
ChangeDatabase(String)

Změní aktuální databázi přidruženou k otevřené OdbcConnection.

ChangeDatabaseAsync(String, CancellationToken)

Asynchronně změní aktuální databázi pro otevřené připojení.

(Zděděno od DbConnection)
Close()

Zavře připojení ke zdroji dat.

CloseAsync()

Asynchronně zavře připojení k databázi.

(Zděděno od DbConnection)
CreateBatch()

Vrátí novou instanci třídy zprostředkovatele, která implementuje třídu DbBatch.

(Zděděno od DbConnection)
CreateCommand()

Vytvoří a vrátí objekt OdbcCommand přidružený k OdbcConnection.

CreateDbBatch()

Při přepsání v odvozené třídě vrátí novou instanci třídy zprostředkovatele, která implementuje DbBatch třídy.

(Zděděno od DbConnection)
CreateDbCommand()

Při přepsání v odvozené třídě vytvoří a vrátí DbCommand objekt přidružený k aktuálnímu připojení.

(Zděděno od DbConnection)
CreateObjRef(Type)

Vytvoří objekt, který obsahuje všechny relevantní informace potřebné k vygenerování proxy serveru sloužícího ke komunikaci se vzdáleným objektem.

(Zděděno od MarshalByRefObject)
Dispose()

Provádí úlohy definované aplikací související s uvolněním, uvolněním nebo resetováním nespravovaných prostředků.

(Zděděno od DbConnection)
Dispose()

Uvolní všechny prostředky používané Component.

(Zděděno od Component)
Dispose(Boolean)

Uvolní nespravované prostředky používané DbConnection a volitelně uvolní spravované prostředky.

(Zděděno od DbConnection)
Dispose(Boolean)

Uvolní nespravované prostředky používané Component a volitelně uvolní spravované prostředky.

(Zděděno od Component)
DisposeAsync()

Asynchronně dispozuje objekt připojení.

(Zděděno od DbConnection)
EnlistDistributedTransaction(ITransaction)

Zapsá do zadané transakce jako distribuovanou transakci.

EnlistTransaction(Transaction)

Zapsá do zadané transakce jako distribuovanou transakci.

EnlistTransaction(Transaction)

Zapsá do zadané transakce.

(Zděděno od DbConnection)
Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetLifetimeService()
Zastaralé.

Načte objekt služby aktuální životnosti, který řídí zásady životnosti pro tuto instanci.

(Zděděno od MarshalByRefObject)
GetSchema()

Vrátí informace o schématu pro zdroj dat tohoto OdbcConnection.

GetSchema(String)

Vrátí informace o schématu pro zdroj dat tohoto OdbcConnection pomocí zadaného názvu pro název schématu.

GetSchema(String, String[])

Vrátí informace o schématu pro zdroj dat tohoto OdbcConnection pomocí zadaného řetězce pro název schématu a zadané pole řetězců pro hodnoty omezení.

GetSchemaAsync(CancellationToken)

Toto je asynchronní verze GetSchema(). Poskytovatelé by měli přepsat příslušnou implementací. Volitelně je možné respektovat cancellationToken. Výchozí implementace vyvolá synchronní volání GetSchema() a vrátí dokončený úkol. Výchozí implementace vrátí zrušený úkol, pokud již byla zrušena cancellationToken. Výjimky vyvolané GetSchema() budou předány prostřednictvím vrácené vlastnosti Exception úlohy.

(Zděděno od DbConnection)
GetSchemaAsync(String, CancellationToken)

Toto je asynchronní verze GetSchema(String). Poskytovatelé by měli přepsat příslušnou implementací. Volitelně je možné respektovat cancellationToken. Výchozí implementace vyvolá synchronní volání GetSchema(String) a vrátí dokončený úkol. Výchozí implementace vrátí zrušený úkol, pokud již byla zrušena cancellationToken. Výjimky vyvolané GetSchema(String) budou předány prostřednictvím vrácené vlastnosti Exception úlohy.

(Zděděno od DbConnection)
GetSchemaAsync(String, String[], CancellationToken)

Toto je asynchronní verze GetSchema(String, String[]). Poskytovatelé by měli přepsat příslušnou implementací. Volitelně je možné respektovat cancellationToken. Výchozí implementace vyvolá synchronní volání GetSchema(String, String[]) a vrátí dokončený úkol. Výchozí implementace vrátí zrušený úkol, pokud již byla zrušena cancellationToken. Výjimky vyvolané GetSchema(String, String[]) budou předány prostřednictvím vrácené vlastnosti Exception úlohy.

(Zděděno od DbConnection)
GetService(Type)

Vrátí objekt, který představuje službu poskytovanou Component nebo jeho Container.

(Zděděno od Component)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
InitializeLifetimeService()
Zastaralé.

Získá objekt služby životnosti pro řízení zásad životnosti pro tuto instanci.

(Zděděno od MarshalByRefObject)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
MemberwiseClone(Boolean)

Vytvoří mělkou kopii aktuálního objektu MarshalByRefObject.

(Zděděno od MarshalByRefObject)
OnStateChange(StateChangeEventArgs)

Vyvolá událost StateChange.

(Zděděno od DbConnection)
Open()

Otevře připojení ke zdroji dat s nastavením vlastnosti určenými ConnectionString.

OpenAsync()

Asynchronní verze Open(), která otevře připojení databáze s nastavením určeným ConnectionString. Tato metoda vyvolá virtuální metodu OpenAsync(CancellationToken) pomocí CancellationToken.None.

(Zděděno od DbConnection)
OpenAsync(CancellationToken)

Toto je asynchronní verze Open(). Poskytovatelé by měli přepsat příslušnou implementací. Token zrušení lze volitelně respektovat.

Výchozí implementace vyvolá synchronní volání Open() a vrátí dokončený úkol. Výchozí implementace vrátí zrušený úkol, pokud již bylo zrušeno cancellationToken. Výjimky vyvolané příkazem Open budou oznámeny prostřednictvím vrácené vlastnosti Exception úkolu.

Nevyvolejte jiné metody a vlastnosti DbConnection objektu, dokud vrácená úloha není dokončena.

(Zděděno od DbConnection)
ReleaseObjectPool()

Označuje, že obslužný rutina prostředí Správce ovladačů ODBC může být vydána při vydání posledního základního připojení.

ToString()

Vrátí String obsahující název Component, pokud existuje. Tato metoda by neměla být přepsána.

(Zděděno od Component)

Událost

Disposed

Nastane, když komponenta je uvolněna voláním Dispose() metody.

(Zděděno od Component)
InfoMessage

Nastane, když ovladač ODBC odešle upozornění nebo informační zprávu.

StateChange

Nastane, když se změní stav připojení.

StateChange

Nastane, když se změní stav připojení.

(Zděděno od DbConnection)

Explicitní implementace rozhraní

ICloneable.Clone()

Popis tohoto člena najdete v tématu Clone().

IDbConnection.BeginTransaction()

Toto rozhraní API podporuje produktovou infrastrukturu a není určené k použití přímo z uživatelského kódu.

Začne databázovou transakci.

IDbConnection.BeginTransaction()

Začne databázovou transakci.

(Zděděno od DbConnection)
IDbConnection.BeginTransaction(IsolationLevel)

Toto rozhraní API podporuje produktovou infrastrukturu a není určené k použití přímo z uživatelského kódu.

Zahájí transakci databáze se zadanou úrovní izolace.

IDbConnection.BeginTransaction(IsolationLevel)

Zahájí transakci databáze se zadanou úrovní izolace.

(Zděděno od DbConnection)
IDbConnection.CreateCommand()

Toto rozhraní API podporuje produktovou infrastrukturu a není určené k použití přímo z uživatelského kódu.

Vytvoří a vrátí objekt příkazu přidružený k připojení.

IDbConnection.CreateCommand()

Vytvoří a vrátí objekt DbCommand, který je přidružen k aktuálnímu připojení.

(Zděděno od DbConnection)

Metody rozšíření

ConfigureAwait(IAsyncDisposable, Boolean)

Konfiguruje, jak čekají na úlohy vrácené z asynchronního jednorázového použití.

Platí pro

Viz také