SqlConnection Třída

Definice

Představuje připojení k databázi SQL Server. Tuto třídu nelze zdědit.

public ref class SqlConnection sealed : System::Data::Common::DbConnection, ICloneable
public ref class SqlConnection sealed : System::Data::Common::DbConnection
public ref class SqlConnection sealed : System::ComponentModel::Component, ICloneable, IDisposable, System::Data::IDbConnection
public ref class SqlConnection sealed : System::Data::Common::DbConnection, ICloneable, IDisposable
public sealed class SqlConnection : System.Data.Common.DbConnection, ICloneable
public sealed class SqlConnection : System.Data.Common.DbConnection
public sealed class SqlConnection : System.ComponentModel.Component, ICloneable, IDisposable, System.Data.IDbConnection
public sealed class SqlConnection : System.Data.Common.DbConnection, ICloneable, IDisposable
type SqlConnection = class
    inherit DbConnection
    interface ICloneable
type SqlConnection = class
    inherit DbConnection
type SqlConnection = class
    inherit Component
    interface IDbConnection
    interface IDisposable
    interface ICloneable
type SqlConnection = class
    inherit DbConnection
    interface IDbConnection
    interface ICloneable
    interface IDisposable
Public NotInheritable Class SqlConnection
Inherits DbConnection
Implements ICloneable
Public NotInheritable Class SqlConnection
Inherits DbConnection
Public NotInheritable Class SqlConnection
Inherits Component
Implements ICloneable, IDbConnection, IDisposable
Public NotInheritable Class SqlConnection
Inherits DbConnection
Implements ICloneable, IDisposable
Dědičnost
SqlConnection
Dědičnost
Dědičnost
Implementuje

Příklady

Následující příklad vytvoří SqlCommand a .SqlConnection Je SqlConnection otevřen a nastaven jako Connection pro SqlCommand. Příklad pak volá ExecuteNonQuery. K tomu ExecuteNonQuery se předá připojovací řetězec a řetězec dotazu, který je příkazem Transact-SQL INSERT. Připojení se automaticky zavře, když kód ukončí blok using.

private static void CreateCommand(string queryString,
    string connectionString)
{
    using (SqlConnection connection = new SqlConnection(
               connectionString))
    {
        SqlCommand command = new SqlCommand(queryString, connection);
        command.Connection.Open();
        command.ExecuteNonQuery();
    }
}
Public Sub CreateCommand(ByVal queryString As String, _
  ByVal connectionString As String)
    Using connection As New SqlConnection(connectionString)
        Dim command As New SqlCommand(queryString, connection)
        command.Connection.Open()
        command.ExecuteNonQuery()
    End Using
End Sub

Poznámky

Objekt SqlConnection představuje jedinečnou relaci pro SQL Server zdroj dat. U databázového systému klienta/serveru je ekvivalentem síťového připojení k serveru. SqlConnectionse používá společně s výkonem SqlDataAdapter a SqlCommand zvyšuje výkon při připojování k databázi Microsoft SQL Server. Pro všechny produkty SQL Server třetích stran a další zdroje dat podporované ole DB použijte OleDbConnection.

Při vytváření instance SqlConnectionjsou všechny vlastnosti nastaveny na jejich počáteční hodnoty. Seznam těchto hodnot najdete v konstruktoru SqlConnection .

Podívejte se ConnectionString na seznam klíčových slov v připojovacím řetězci.

Pokud dojde k výpadku SqlConnection rozsahu, nezavře se. Proto musíte připojení explicitně zavřít voláním Close nebo Dispose. Close a Dispose jsou funkčně ekvivalentní. Pokud je hodnota Pooling sdružování připojení nastavená na true hodnotu nebo yes, vrátí se podkladové připojení zpět do fondu připojení. Pooling Pokud je naopak nastavené false nebo no, základní připojení k serveru je ve skutečnosti uzavřeno.

Poznámka

Události přihlášení a odhlášení nebudou vyvolány na serveru, když se připojení načte z fondu připojení nebo se vrátí do fondu připojení, protože připojení není ve skutečnosti ukončeno, když se vrátí do fondu připojení. Další informace najdete v tématu SQL Server sdružování připojení (ADO.NET).

Pokud chcete zajistit, aby připojení byla vždy zavřená, otevřete připojení uvnitř using bloku, jak je znázorněno v následujícím fragmentu kódu. Tím zajistíte, že se připojení automaticky zavře, když kód ukončí blok.

Using connection As New SqlConnection(connectionString)
    connection.Open()
    ' Do work here; connection closed on following line.
End Using
using (SqlConnection connection = new SqlConnection(connectionString))
    {
        connection.Open();
        // Do work here; connection closed on following line.
    }

Poznámka

Pokud chcete nasadit vysoce výkonné aplikace, musíte použít sdružování připojení. Při použití .NET Framework Zprostředkovatel dat pro SQL Server není nutné povolit sdružování připojení, protože zprostředkovatel to spravuje automaticky, i když můžete upravit některá nastavení. Další informace najdete v tématu SQL Server sdružování připojení (ADO.NET).

SqlException Pokud je metoda generovaná metodou, která SqlConnection provádí, SqlCommandzůstane otevřená, pokud je úroveň závažnosti 19 nebo menší. Pokud je úroveň závažnosti 20 nebo vyšší, server obvykle zavře SqlConnection. Uživatel ale může znovu otevřít připojení a pokračovat.

Aplikace, která vytvoří instanci objektu SqlConnection , 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í. SqlConnection zajišťuje, aby objekt používal SqlClientPermission požadavky na zabezpečení. Uživatelé můžou pomocí objektu SqlClientPermissionAttribute ověřit, že má kód dostatečná oprávnění. Uživatelé a správci můžou také použít Caspol.exe (Nástroj pro zásady zabezpečení přístupu kódu) k úpravě zásad zabezpečení na úrovni počítače, uživatele a podniku. Další informace naleznete v tématu Zabezpečení v .NET. Příklad demonstrující, jak používat požadavky na zabezpečení, najdete v tématu Zabezpečení přístupu k kódu a ADO.NET.

Další informace o zpracování upozornění a informačních zpráv ze serveru naleznete v tématu Události připojení. Další informace o chybách modulu SQL Server a chybových zprávách naleznete v tématu Události a chyby databázového stroje.

Upozornění

Místo sdílené paměti můžete vynutit tcp. Můžete to udělat předponou tcp: k názvu serveru v připojovacím řetězci nebo můžete použít localhost.

Konstruktory

SqlConnection()

Inicializuje novou instanci SqlConnection třídy.

SqlConnection(String)

Inicializuje novou instanci SqlConnection třídy při zadání řetězce, který obsahuje připojovací řetězec.

SqlConnection(String, SqlCredential)

Inicializuje novou instanci SqlConnection třídy dané připojovací řetězec, který nepoužívá Integrated Security = true a SqlCredential objekt, který obsahuje ID uživatele a heslo.

Vlastnosti

AccessToken

Získá nebo nastaví přístupový token pro připojení.

CanCreateBatch

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

(Zděděno od DbConnection)
CanRaiseEvents

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

(Zděděno od Component)
ClientConnectionId

ID připojení posledního pokusu o připojení bez ohledu na to, jestli byl pokus úspěšný nebo neúspěšný.

ColumnEncryptionKeyCacheTtl

Získá nebo nastaví čas-to-live pro položky šifrovacího klíče sloupce v mezipaměti šifrovacích klíčů sloupce pro Always Encrypted funkce. Výchozí hodnota je 2 hodiny. 0 znamená, že ukládání do mezipaměti vůbec není.

ColumnEncryptionQueryMetadataCacheEnabled

Získá nebo nastaví hodnotu, která označuje, zda je ukládání metadat dotazů do mezipaměti povolené (true) nebo ne (false) pro parametrizované dotazy spuštěné na Always Encrypted povolených databázích. Výchozí hodnotou je hodnota true.

ColumnEncryptionTrustedMasterKeyPaths

Umožňuje nastavit seznam důvěryhodných cest klíčů pro databázový server. Pokud při zpracování dotazu aplikace ovladač obdrží cestu ke klíči, která není v seznamu, dotaz selže. Tato vlastnost poskytuje další ochranu proti útokům zabezpečení, které zahrnují ohroženou SQL Server poskytování falešných cest klíče, což může vést k úniku přihlašovacích údajů úložiště klíčů.

ConnectionString

Získá nebo nastaví řetězec použitý k otevření SQL Server databáze.

ConnectionTimeout

Získá čas č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

IContainer Získá ten, který obsahuje Component.

(Zděděno od Component)
Credential

Získá nebo nastaví SqlCredential objekt pro toto připojení.

Credentials
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 instance SQL Server, ke které se má připojit.

DbProviderFactory

DbProviderFactory Získá pro to 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)
Events

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

(Zděděno od Component)
FireInfoMessageEventOnUserErrors

Získá nebo nastaví FireInfoMessageEventOnUserErrors vlastnost.

PacketSize

Získá velikost síťových paketů (v bajtech), které slouží ke komunikaci s instancí SQL Server.

ServerVersion

Získá řetězec, který obsahuje verzi instance SQL Server, ke které je klient připojen.

Site

Získá nebo nastaví ISite of the Component.

(Zděděno od Component)
State

Označuje stav SqlConnection během poslední síťové operace prováděné u připojení.

StatisticsEnabled

Když je nastavená hodnota true, povolí shromažďování statistik pro aktuální připojení.

WorkstationId

Získá řetězec, který identifikuje databázového klienta.

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

BeginTransaction(IsolationLevel)

Spustí databázovou transakci se zadanou úrovní izolace.

BeginTransaction(IsolationLevel, String)

Spustí databázovou transakci se zadanou úrovní izolace a názvem transakce.

BeginTransaction(String)

Spustí databázovou transakci se zadaným názvem transakce.

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 otevřené SqlConnection.

ChangeDatabaseAsync(String, CancellationToken)

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

(Zděděno od DbConnection)
ChangePassword(String, SqlCredential, SecureString)

Změní SQL Server heslo uživatele uvedeného v objektuSqlCredential.

ChangePassword(String, String)

Změní SQL Server heslo pro uživatele označeného v připojovacím řetězci na zadané nové heslo.

ClearAllPools()

Vyprázdní fond připojení.

ClearPool(SqlConnection)

Vyprázdní fond připojení přidružený k zadanému připojení.

Close()

Zavře připojení k databázi. Toto je upřednostňovaná metoda uzavření jakéhokoli otevřeného připojení.

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í SqlCommand objekt přidružený k objektu SqlConnection.

CreateDbBatch()

Při přepsání v odvozené třídě vrátí novou instanci třídy poskytovatele, 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 serveru sloužící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 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ě rozdělí připojovací objekt.

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

Zapsá do 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í funkce hash.

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

Načte aktuální objekt služby ž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 SqlConnectionobjektu . Další informace o schématu naleznete v tématu SQL Server Kolekce schémat.

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 SqlConnection pomocí zadaného řetězce pro název schématu.

GetSchema(String)

Vrátí informace o schématu pro zdroj dat tohoto DbConnection 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 SqlConnection pomocí zadaného řetězce pro název schématu a zadané pole řetězců pro hodnoty omezení.

GetSchema(String, String[])

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

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

Jedná se o asynchronní verzi GetSchema(). Poskytovatelé by měli přepsat příslušnou implementaci. Volitelně cancellationToken může být ctěna. Výchozí implementace vyvolá synchronní GetSchema() volání a vrátí dokončenou úlohu. Výchozí implementace vrátí zrušenou úlohu, pokud již byla zrušena cancellationToken. Výjimky vyvoláné pomocí GetSchema() vrácené vlastnosti Výjimky úkolu.

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

Toto je asynchronní verze GetSchema(String). Poskytovatelé by měli přepsat příslušnou implementaci. Volitelně cancellationToken může být ctě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 již byla zrušena cancellationToken. Výjimky vyvoláné pomocí GetSchema(String) vrácené vlastnosti Výjimky úkolu.

(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 implementaci. Volitelně cancellationToken lze respektovat. Výchozí implementace vyvolá synchronní GetSchema(String, String[]) volání a vrátí dokončený úkol. Výchozí implementace vrátí zrušený úkol, pokud již byla zrušena cancellationToken. Výjimky vyvolány GetSchema(String, String[]) prostřednictvím vrácené vlastnosti Exception úkolu.

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

Vrátí objekt, který představuje službu poskytovanou službou Component nebo jejím Containerobjektem .

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

Type Získá aktuální instanci.

(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ří použádnou kopii aktuálního souboru Object.

(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í databáze s nastavením vlastností určeným parametrem 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)

Asynchronní verze Open(), která otevře připojení databáze s nastavením vlastností určeným parametrem ConnectionString. Token zrušení je možné použít k vyžádání, aby byla operace zrušena před vypršením časového limitu připojení. Výjimky se rozšíří prostřednictvím vrácené úlohy. Pokud vypršel časový limit připojení bez úspěšného připojení, vrácená úloha se označí jako chybná s výjimkou. Implementace vrátí úlohu, aniž by blokovala volající vlákno pro připojení ve fondu i připojení bez fondu.

OpenAsync(CancellationToken)

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

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

Nevyvolejte jiné metody a vlastnosti objektu DbConnection , dokud nebude vrácený úkol dokončen.

(Zděděno od DbConnection)
RegisterColumnEncryptionKeyStoreProviders(IDictionary<String,SqlColumnEncryptionKeyStoreProvider>)

Zaregistruje poskytovatele úložiště šifrovacích klíčů sloupce.

ResetStatistics()

Pokud je shromažďování statistik povolené, všechny hodnoty se resetují na nulu.

RetrieveStatistics()

Vrátí kolekci párů hodnot názvů statistik v okamžiku volání metody.

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 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 odstraněna voláním Dispose() metody.

(Zděděno od Component)
InfoMessage

Nastane, když SQL Server vrátí 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()

Vytváří nový objekt, který je kopií aktuální instance.

IDbConnection.BeginTransaction()

Zahájí transakci databáze.

IDbConnection.BeginTransaction()

Začíná databázovou transakci.

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

Zahájí transakci databáze se zadanou IsolationLevel hodnotou.

IDbConnection.BeginTransaction(IsolationLevel)

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

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

Vytvoří a vrátí příkazový objekt, který je přidružený k připojení.

IDbConnection.CreateCommand()

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

(Zděděno od DbConnection)

Platí pro

Viz také