OdbcConnection Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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ří a OdbcCommandOdbcConnection. Otevře OdbcConnection se a nastaví jako Connection vlastnost. Příklad pak zavolá ExecuteNonQuerya ukončí připojení. Za tímto účelem 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 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 je prostředí ODBC a obslužné rutiny připojení. Vždy byste měli explicitně zavřít všechny otevřené OdbcConnection objekty voláním Close nebo odstraněním dříve, 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ému ovladači dojde 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 mnoha připojeními čekajících na odstranění systémem uvolňování paměti. Explicitní uzavření připojení umožňuje efektivnější využití nativních prostředků, zlepš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, nemusíte povolit sdružování připojení, protože zprostředkovatel ho 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 připojení znovu otevřít a pokračovat.
Aplikace, která vytvoří instanci objektu OdbcConnection , může vyžadovat, aby všichni přímí i 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 pomocí objektu OdbcPermissionAttribute ověřit, jestli má jejich kód dostatečná oprávnění. Uživatelé a správci můžou také pomocí nástroje Code Access Security Policy Tool (Caspol.exe) upravovat zásady zabezpečení na úrovni počítače, uživatele a organizace. 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á se má použít po otevření připojení. |
DataSource |
Získá název serveru nebo název souboru zdroje dat. |
DbProviderFactory |
Získá pro DbProviderFactory tento DbConnection. (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é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, který obsahuje verzi serveru, ke kterému je klient připojen. |
Site |
Získá nebo nastaví ISite hodnotu 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í databázovou transakci. (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 IsolationLevel hodnotou. |
BeginTransactionAsync(CancellationToken) |
Asynchronně zahájí databázovou transakci. (Zděděno od DbConnection) |
BeginTransactionAsync(IsolationLevel, CancellationToken) |
Asynchronně zahájí databázovou transakci. (Zděděno od DbConnection) |
ChangeDatabase(String) |
Změní aktuální databázi přidruženou k otevřené OdbcConnectiondatabázi . |
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 používaného 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é DbConnection nástrojem a volitelně uvolní spravované prostředky. (Zděděno od DbConnection) |
Dispose(Boolean) |
Uvolní nespravované prostředky používané Component nástrojem a volitelně uvolní spravované prostředky. (Zděděno od Component) |
DisposeAsync() |
Asynchronně rozdělí objekt připojení. (Zděděno od DbConnection) |
EnlistDistributedTransaction(ITransaction) |
Zadává se do zadané transakce jako distribuovaná transakce. |
EnlistTransaction(Transaction) |
Zadává se do zadané transakce jako distribuovaná transakce. |
EnlistTransaction(Transaction) |
Zalistuje v zadané transakci. (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 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 tento zdroj OdbcConnection dat s použitím zadaného názvu schématu. |
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í. |
GetSchemaAsync(CancellationToken) |
Toto je asynchronní verze nástroje GetSchema().
Poskytovatelé by měli přepsat příslušnou implementací.
Volitelně |
GetSchemaAsync(String, CancellationToken) |
Toto je asynchronní verze nástroje GetSchema(String).
Poskytovatelé by měli přepsat příslušnou implementací.
Volitelně |
GetSchemaAsync(String, String[], CancellationToken) |
Toto je asynchronní verze nástroje GetSchema(String, String[]).
Poskytovatelé by měli přepsat příslušnou implementací.
Volitelně |
GetService(Type) |
Vrátí objekt, který představuje službu poskytovanou objektem Component nebo jejím Containerobjektem . (Zděděno od Component) |
GetType() |
Získá aktuální Type instanci. (Zděděno od Object) |
InitializeLifetimeService() |
Zastaralé.
Získá objekt služby životnosti, 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 vlastnosti určeným nástrojem ConnectionString. |
OpenAsync() |
Asynchronní verze nástroje Open(), která otevře připojení k databázi s nastavením určeným ConnectionStringnástrojem . Tato metoda vyvolá virtuální metodu OpenAsync(CancellationToken) s 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šený úkol, pokud již zrušený cancellationToken. Výjimky vyvolané otevřením budou sděleny prostřednictvím vrácené vlastnosti Výjimka úkolu. Nevyvolávej jiné metody a vlastnosti objektu |
ReleaseObjectPool() |
Označuje, že popisovač prostředí Správce ovladačů ODBC může být uvolněn při uvolnění posledního základního připojení. |
ToString() |
String Vrátí hodnotu 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ž je komponenta odstraně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. 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. Zahájí databázi transakce se zadanou úrovní izolace. |
IDbConnection.BeginTransaction(IsolationLevel) |
Zahájí databázi transakce 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) |
Metody rozšíření
ConfigureAwait(IAsyncDisposable, Boolean) |
Konfiguruje, jak se provádí čekání na úlohy vrácené z asynchronního jednorázového použití. |
Platí pro
Viz také
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro