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

Příklady

Následující příklad vytvoří a OdbcCommandOdbcConnection. Objekt OdbcConnection se otevře a nastaví jako Connection vlastnost . Příklad pak zavolá ExecuteNonQuerya ukončí připojení. K tomu ExecuteNonQuery se 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í řetězec nebo názvu zdroje dat ODBC (DSN). U databázového systému klient/server se jedná o ekvivalent 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 je 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 odstraněním před tím, než OdbcConnection objekt přejde mimo rozsah, nebo umístěním připojení do Using příkazu . Pokud to neuděláte, uvolní se tyto nativní prostředky do uvolňování paměti. Nemusí je to okamžitě uvolnit. To může nakonec způsobit, že podkladový ovladač vyčerpá prostředky nebo dosáhne maximálního limitu. Výsledkem jsou občasná selhání. Může například docházet k Maximum Connections chybám souvisejícím s tím, že řada připojení čeká na odstranění systémem uvolňování paměti. Explicitní ukončení připojení umožňuje efektivnější využití nativních prostředků, zlepšení škálovatelnosti a 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žíváte 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 OdbcCommand třídy způsobí závažnou OdbcException (například SQL Server úroveň závažnosti 20 nebo vyšší), může se OdbcConnection zavřít. Uživatel ale může znovu otevřít připojení a pokračovat.

Aplikace, která vytváří instanci objektu OdbcConnection , může vyžadovat, aby všichni přímí a nepřímí volající měli dostatečná oprávnění ke 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 ověřit, že jejich kód má dostatečná oprávnění, pomocí objektu OdbcPermissionAttribute . Uživatelé a správci mohou také použít nástroj Code Access Security Policy Tool (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í řetězec.

Vlastnosti

CanCreateBatch

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

(Zděděno od DbConnection)
CanRaiseEvents

Získá hodnotu označ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á objekt IContainer , který obsahuje Component.

(Zděděno od Component)
Database

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

DataSource

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

DbProviderFactory

Získá pro DbProviderFactory tento DbConnectionobjekt .

(Zděděno od DbConnection)
DesignMode

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

(Zděděno od Component)
Driver

Získá název ovladače ODBC zadané 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, který obsahuje verzi serveru, ke kterému je klient připojen.

Site

Získá nebo nastaví ISite z Component.

(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í transakci databáze.

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

Asynchronně spustí transakci databáze.

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

Spustí transakci ve zdroji dat.

BeginTransaction(IsolationLevel)

Spustí transakci ve zdroji dat se zadanou IsolationLevel hodnotou.

BeginTransactionAsync(CancellationToken)

Asynchronně zahájí transakci databáze.

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

Asynchronně zahájí transakci databáze.

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

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

ChangeDatabaseAsync(String, CancellationToken)

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

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

Ukončí připojení ke zdroji dat.

CloseAsync()

Asynchronně ukončí připojení k databázi.

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

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

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

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

CreateDbBatch()

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

(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 sloužící ke komunikaci se vzdáleným objektem.

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

Provede aplikací definované úlohy spojené s uvolněním nebo resetováním nespravovaných prostředků.

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

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

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

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

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

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

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

Asynchronně rozloží objekt připojení.

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

Zadává v zadané transakci jako distribuovanou transakci.

EnlistTransaction(Transaction)

Zadává v zadané transakci jako distribuovanou transakci.

EnlistTransaction(Transaction)

Enlists v zadané transakce.

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

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

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

Slouží jako výchozí hashovací funkce.

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

Načte aktuální životnost objektu služby, 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()

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

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

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

GetSchema(String)

Vrátí informace o schématu pro zdroj dat tohoto DbConnection typu pomocí zadaného řetězce pro název schématu.

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

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

GetSchema(String, String[])

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

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

Toto je asynchronní verze nástroje GetSchema(). Poskytovatelé by měli přepsat příslušnou implementací. Volitelně cancellationToken může být respektována. Výchozí implementace vyvolá synchronní GetSchema() volání a vrátí dokončenou úlohu. Výchozí implementace vrátí zrušenou úlohu, pokud byla předána již zrušená cancellationTokenúloha . Výjimky vyvolané nástrojem GetSchema() budou oznámeny prostřednictvím vrácené vlastnosti Task Exception (Výjimka úkolu).

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

Toto je asynchronní verze nástroje GetSchema(String). Poskytovatelé by měli přepsat příslušnou implementací. Volitelně cancellationToken může být respektována. Výchozí implementace vyvolá synchronní GetSchema(String) volání a vrátí dokončenou úlohu. Výchozí implementace vrátí zrušenou úlohu, pokud byla předána již zrušená cancellationTokenúloha . Výjimky vyvolané nástrojem GetSchema(String) budou oznámeny prostřednictvím vrácené vlastnosti Task Exception (Výjimka úkolu).

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

Toto je asynchronní verze nástroje GetSchema(String, String[]). Poskytovatelé by měli přepsat příslušnou implementací. Volitelně cancellationToken může být respektována. Výchozí implementace vyvolá synchronní GetSchema(String, String[]) volání a vrátí dokončenou úlohu. Výchozí implementace vrátí zrušenou úlohu, pokud byla předána již zrušená cancellationTokenúloha . Výjimky vyvolané nástrojem GetSchema(String, String[]) budou oznámeny prostřednictvím vrácené vlastnosti Task Exception (Výjimka úkolu).

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

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

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

Type Získá z aktuální instance.

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

Získá životnost objektu služby, který řídí zásady životnosti pro tuto instanci.

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

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

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

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

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

StateChange Vyvolá událost.

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

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

OpenAsync()

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

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

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

Výchozí implementace vyvolá synchronní Open() volání a vrátí dokončenou úlohu. Výchozí implementace vrátí zrušenou úlohu, pokud je předán již zrušený cancellationToken. Výjimky vyvolané otevřením budou oznámeny prostřednictvím vrácené vlastnosti Task Exception (Výjimka úlohy).

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

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

Označuje, že popisovač prostředí Správce ovladačů ODBC lze uvolnit při uvolnění posledního základního připojení.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

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

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

(Zděděno od Component)

Událost

Disposed

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

(Zděděno od Component)
InfoMessage

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

StateChange

Vyvolá se při změně stavu připojení.

StateChange

Vyvolá se při změně stavu 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.

Zahájí transakci databáze.

IDbConnection.BeginTransaction()

Zahájí transakci databáze.

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

Začíná databázovou transakci se zadanou úrovní izolace.

IDbConnection.BeginTransaction(IsolationLevel)

Začíná databázovou transakci 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í DbCommand objekt, který je přidružen k aktuálnímu připojení.

(Zděděno od DbConnection)

Platí pro

Viz také