SqlConnection Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Egy SQL Server-adatbázishoz való kapcsolatot jelöl. Ez az osztály nem örökölhető.
public ref class SqlConnection sealed : System::ComponentModel::Component, ICloneable, IDisposable, System::Data::IDbConnection
public ref class SqlConnection sealed : System::Data::Common::DbConnection, ICloneable
public sealed class SqlConnection : System.ComponentModel.Component, ICloneable, IDisposable, System.Data.IDbConnection
public sealed class SqlConnection : System.Data.Common.DbConnection, ICloneable
type SqlConnection = class
inherit Component
interface IDbConnection
interface IDisposable
interface ICloneable
type SqlConnection = class
inherit DbConnection
interface ICloneable
Public NotInheritable Class SqlConnection
Inherits Component
Implements ICloneable, IDbConnection, IDisposable
Public NotInheritable Class SqlConnection
Inherits DbConnection
Implements ICloneable
- Öröklődés
- Öröklődés
- Megvalósítás
Példák
Az alábbi példa létrehoz egy SqlCommand és egy SqlConnection. A SqlConnection rendszer meg van nyitva, és a Connection következő értékre SqlCommandvan állítva: . A példa ezután meghívja a következőt ExecuteNonQuery: Ehhez a ExecuteNonQuery sqlConnection és egy Transact-SQL INSERT utasítású lekérdezési sztring lesz átadva. A kapcsolat automatikusan bezárul, amikor a kód kilép a használatból.
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
Megjegyzések
A SqlConnection objektum egy SQL Server adatforrás egyedi munkamenetét jelöli. Egy ügyfél-/kiszolgáló-adatbázisrendszer esetén ez egyenértékű a kiszolgálóval létesített hálózati kapcsolattal. A SqlConnectionSqlDataAdapter és SqlCommand együtt használják a Microsoft SQL Server-adatbázis való csatlakozáskor. Minden külső SQL Server termékhez és más OLE DB által támogatott adatforráshoz használja a OleDbConnection.
Amikor létrehoz egy példányt SqlConnection, az összes tulajdonság a kezdeti értékekre van állítva. Ezeknek az értékeknek a listáját a konstruktorban SqlConnection találja.
A kapcsolati karakterlánc kulcsszavainak listáját a ConnectionString találja.
Ha a SqlConnection hatókörön kívül esik, az nem lesz bezárva. Ezért explicit módon be kell zárnia a kapcsolatot a hívással Close vagy Disposea .
Close és Dispose funkcionálisan egyenértékűek. Ha a kapcsolatkészletezési érték Pooling a következőre true van állítva vagy yes, a rendszer visszaadja az alapul szolgáló kapcsolatot a kapcsolatkészletnek. Másrészt, ha Pooling be van állítva false vagy no, a kiszolgálóhoz tartozó mögöttes kapcsolat ténylegesen bezárul.
Note
A bejelentkezési és kijelentkeztetési események nem lesznek generálva a szerveren, amikor a kapcsolat kivételre vagy visszahelyezésre kerül a kapcsolatkészletből, mert a kapcsolat valójában nem záródik le, amikor visszahelyezésre kerül a kapcsolatkészletbe. További információ: SQL Server-kapcsolatkészletezés (ADO.NET).
Annak érdekében, hogy a kapcsolatok mindig zárva legyenek, nyissa meg a kapcsolatot egy using blokkon belül, ahogyan az az alábbi kódtöredékben látható. Ezzel biztosítja, hogy a kapcsolat automatikusan le legyen zárva, amikor a kód kilép a blokkból.
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.
}
Note
A nagy teljesítményű alkalmazások üzembe helyezéséhez kapcsolatkészletezést kell használnia. Ha a SQL Server .NET Keretrendszer Data Provider használja, nem kell engedélyeznie a kapcsolatkészletezést, mert a szolgáltató ezt automatikusan kezeli, bár módosíthatja bizonyos beállításokat. További információ: SQL Server-kapcsolatkészletezés (ADO.NET).
Ha a metódus végrehajtó SqlCommandmetódusa hoz létre egy SqlException értéket, a SqlConnection rendszer akkor is nyitva marad, ha a súlyossági szint 19 vagy annál kisebb. Ha a súlyossági szint 20 vagy nagyobb, a kiszolgáló általában bezárja a SqlConnection. A felhasználó azonban újra megnyithatja a kapcsolatot, és folytathatja azt.
Az objektum egy példányát létrehozó alkalmazás megkövetelheti, hogy a SqlConnection deklaratív vagy imperatív biztonsági követelmények megadásával minden közvetlen és közvetett hívó rendelkezzen megfelelő engedéllyel a kódhoz. SqlConnection biztonsági igényeket támaszt az SqlClientPermission objektum használatával. A felhasználók az objektum használatával SqlClientPermissionAttribute ellenőrizhetik, hogy a kódjuk rendelkezik-e megfelelő engedélyekkel. A felhasználók és a rendszergazdák a Caspol.exe (Code Access biztonsági szabályzat eszköz) használatával is módosíthatják a biztonsági szabályzatot a gép, a felhasználó és a vállalati szinten. További információ: Biztonság a .NET-ben. A biztonsági követelmények használatát bemutató példa: Code Access Security és ADO.NET.
A kiszolgálóról érkező figyelmeztető és tájékoztató üzenetek kezeléséről további információt a Kapcsolati események című témakörben talál. A SQL Server motorhibákkal és hibaüzenetekkel kapcsolatos további információkért lásd: Database Engine Események és hibák.
Figyelmeztetés
A TCP-t kényszerítheti a megosztott memória helyett. Ezt a tcp: előtaggal teheti meg a kapcsolati karakterlánc kiszolgáló nevére, vagy használhatja a localhostot.
Konstruktorok
| Name | Description |
|---|---|
| SqlConnection() |
Inicializálja a SqlConnection osztály új példányát. |
| SqlConnection(String, SqlCredential) |
Inicializálja a SqlConnection osztály új példányát egy kapcsolati karakterlánc, amely nem használja a |
| SqlConnection(String) |
Inicializálja a SqlConnection osztály új példányát, ha a kapcsolati karakterlánc tartalmazó sztringet ad meg. |
Tulajdonságok
| Name | Description |
|---|---|
| AccessToken |
Lekéri vagy beállítja a kapcsolat hozzáférési jogkivonatát. |
| CanRaiseEvents |
Beolvas egy értéket, amely jelzi, hogy az összetevő képes-e eseményt létrehozni. (Öröklődés forrása Component) |
| ClientConnectionId |
A legutóbbi kapcsolati kísérlet kapcsolatazonosítója, függetlenül attól, hogy a kísérlet sikeres vagy sikertelen volt-e. |
| ColumnEncryptionKeyCacheTtl |
Lekéri vagy beállítja az oszloptitkosítási kulcs bejegyzéseinek élettartamát az Always Encrypted szolgáltatás oszloptitkosítási kulcsgyorsítótárában. Az alapértelmezett érték 2 óra. A 0 azt jelenti, hogy egyáltalán nincs gyorsítótárazás. |
| ColumnEncryptionQueryMetadataCacheEnabled |
Lekéri vagy beállít egy értéket, amely jelzi, hogy a lekérdezés metaadatainak gyorsítótárazása engedélyezve van-e (igaz) vagy sem (hamis) az Always Encrypted-kompatibilis adatbázisokon futó paraméteres lekérdezésekhez. Az alapértelmezett érték igaz. |
| ColumnEncryptionTrustedMasterKeyPaths |
Lehetővé teszi az adatbázis-kiszolgáló megbízható kulcsútvonalainak listáját. Ha egy alkalmazás-lekérdezés feldolgozása során az illesztő olyan kulcselérési utat kap, amely nem szerepel a listán, a lekérdezés sikertelen lesz. Ez a tulajdonság további védelmet nyújt az olyan biztonsági támadások ellen, amelyek feltört SQL Server hamis kulcsútvonalakat biztosítanak, ami a kulcstároló hitelesítő adatainak kiszivárgásához vezethet. |
| ConnectionString |
Lekéri vagy beállítja a SQL Server adatbázis megnyitásához használt sztringet. |
| ConnectionTimeout |
Lekéri a várakozási időt (másodpercben), miközben megpróbál kapcsolatot létesíteni, mielőtt megszakítja a kísérletet, és hibát okozna. |
| Container |
Lekéri a IContainer .Component (Öröklődés forrása Component) |
| Credential |
Lekéri vagy beállítja a SqlCredential kapcsolat objektumát. |
| Database |
Lekéri az aktuális adatbázis vagy a kapcsolat megnyitása után használni kívánt adatbázis nevét. |
| DataSource |
Lekéri annak a SQL Server-példánynak a nevét, amelyhez csatlakozni szeretne. |
| DbProviderFactory |
Megkapja ezt DbConnectiona DbProviderFactory . (Öröklődés forrása DbConnection) |
| DesignMode |
Olyan értéket kap, amely jelzi, hogy az Component aktuálisan tervezési módban van-e. (Öröklődés forrása Component) |
| Events |
Lekéri az ehhez Componentcsatolt eseménykezelők listáját. (Öröklődés forrása Component) |
| FireInfoMessageEventOnUserErrors |
Lekéri vagy beállítja a tulajdonságot FireInfoMessageEventOnUserErrors . |
| PacketSize |
Lekéri a SQL Server egy példányával való kommunikációhoz használt hálózati csomagok méretét (bájtban). |
| ServerVersion |
Lekéri azt a sztringet, amely annak a SQL Server-példánynak a verzióját tartalmazza, amelyhez az ügyfél csatlakozik. |
| Site |
Lekéri vagy megadja a ISite értékét a Component-hez. (Öröklődés forrása Component) |
| State |
A kapcsolaton végrehajtott legutóbbi hálózati művelet állapotát SqlConnection jelzi. |
| StatisticsEnabled |
Ha be van |
| WorkstationId |
Lekéri az adatbázis-ügyfelet azonosító sztringet. |
Metódusok
| Name | Description |
|---|---|
| BeginDbTransaction(IsolationLevel) |
Ha felülbírált egy származtatott osztályban, elindít egy adatbázis-tranzakciót. (Öröklődés forrása DbConnection) |
| BeginTransaction() |
Adatbázis-tranzakciót indít el. |
| BeginTransaction(IsolationLevel, String) |
Elindít egy adatbázis-tranzakciót a megadott elkülönítési szinttel és tranzakciónévvel. |
| BeginTransaction(IsolationLevel) |
Elindít egy adatbázis-tranzakciót a megadott elkülönítési szinttel. |
| BeginTransaction(String) |
Elindít egy adatbázis-tranzakciót a megadott tranzakciónévvel. |
| ChangeDatabase(String) |
Egy megnyitott SqlConnectionadatbázis aktuális adatbázisának módosítása. |
| ChangePassword(String, SqlCredential, SecureString) |
A SqlCredential objektumban megjelölt felhasználó SQL Server jelszavának módosítása. |
| ChangePassword(String, String) |
A kapcsolati karakterlánc megadott új jelszóra módosítja a SQL Server felhasználó jelszavát. |
| ClearAllPools() |
Kiüríti a kapcsolatkészletet. |
| ClearPool(SqlConnection) |
Kiüríti a megadott kapcsolathoz társított kapcsolatkészletet. |
| Close() |
Bezárja a kapcsolatot az adatbázissal. Ez az előnyben részesített módszer a nyitott kapcsolatok bezárására. |
| CreateCommand() |
Létrehoz és visszaad egy SqlCommand objektumot, amely a SqlConnection. |
| CreateDbCommand() |
Ha felül van bírálva egy származtatott osztályban, létrehoz és visszaad egy DbCommand , az aktuális kapcsolathoz társított objektumot. (Öröklődés forrása DbConnection) |
| CreateObjRef(Type) |
Létrehoz egy objektumot, amely tartalmazza a távoli objektumokkal való kommunikációhoz használt proxy létrehozásához szükséges összes releváns információt. (Öröklődés forrása MarshalByRefObject) |
| Dispose() |
Felszabadítja a .-hez használt összes erőforrást Component. (Öröklődés forrása Component) |
| Dispose(Boolean) |
Felszabadítja a felügyelt erőforrások által Component használt nem felügyelt erőforrásokat, és opcionálisan felszabadítja a felügyelt erőforrásokat. (Öröklődés forrása Component) |
| EnlistDistributedTransaction(ITransaction) |
A megadott tranzakciót elosztott tranzakcióként veszi fel. |
| EnlistTransaction(Transaction) |
A megadott tranzakciót elosztott tranzakcióként veszi fel. |
| Equals(Object) |
Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal. (Öröklődés forrása Object) |
| GetHashCode() |
Ez az alapértelmezett kivonatoló függvény. (Öröklődés forrása Object) |
| GetLifetimeService() |
Lekéri a példány élettartamszabályzatát vezérlő aktuális élettartam-szolgáltatásobjektumot. (Öröklődés forrása MarshalByRefObject) |
| GetSchema() |
Ennek az adatforrásnak SqlConnectiona sémaadatait adja vissza. További információ a sémáról: SQL Server sémagyűjtemények. |
| GetSchema(String, String[]) |
Az adatforrás SqlConnection sémaadatait adja vissza a sémanévhez megadott sztring és a korlátozási értékek megadott sztringtömbjének használatával. |
| GetSchema(String) |
A sémanév megadott sztringjének SqlConnection használatával adja vissza az adatforrás sémaadatait. |
| GetService(Type) |
Olyan objektumot ad vissza, amely az általa vagy annak által ComponentContainernyújtott szolgáltatást jelöli. (Öröklődés forrása Component) |
| GetType() |
Lekéri az Type aktuális példányt. (Öröklődés forrása Object) |
| InitializeLifetimeService() |
Beolvas egy élettartam-szolgáltatásobjektumot a példány élettartam-szabályzatának szabályozásához. (Öröklődés forrása MarshalByRefObject) |
| MemberwiseClone() |
Az aktuális Objectpéldány sekély másolatát hozza létre. (Öröklődés forrása Object) |
| MemberwiseClone(Boolean) |
Az aktuális MarshalByRefObject objektum sekély másolatát hozza létre. (Öröklődés forrása MarshalByRefObject) |
| OnStateChange(StateChangeEventArgs) |
Az eseményt emeli StateChange ki. (Öröklődés forrása DbConnection) |
| Open() |
Megnyílik egy adatbázis-kapcsolat a megadott tulajdonságbeállításokkal ConnectionString. |
| OpenAsync() |
A |
| OpenAsync(CancellationToken) |
A |
| RegisterColumnEncryptionKeyStoreProviders(IDictionary<String,SqlColumnEncryptionKeyStoreProvider>) |
Regisztrálja az oszloptitkosítási kulcstároló-szolgáltatókat. |
| ResetStatistics() |
Ha a statisztikagyűjtés engedélyezve van, az összes érték nullára lesz visszaállítva. |
| RetrieveStatistics() |
A metódus meghívásának időpontjában a statisztikai adatok névértékpár-gyűjteményét adja vissza. |
| ToString() |
String A ( ha van) nevet tartalmazó értéket Componentad vissza. Ezt a módszert nem szabad felülírni. (Öröklődés forrása Component) |
esemény
| Name | Description |
|---|---|
| Disposed |
Akkor fordul elő, ha az összetevőt a metódus hívása megsemmisíti Dispose() . (Öröklődés forrása Component) |
| InfoMessage |
Akkor fordul elő, ha SQL Server figyelmeztető vagy tájékoztató üzenetet ad vissza. |
| StateChange |
A kapcsolat állapota megváltozik. |
| StateChange |
A kapcsolat állapota megváltozik. (Öröklődés forrása DbConnection) |
Explicit interfész-implementációk
| Name | Description |
|---|---|
| ICloneable.Clone() |
Létrehoz egy új objektumot, amely az aktuális példány másolata. |
| IDbConnection.BeginTransaction() |
Adatbázis-tranzakciót indít el. |
| IDbConnection.BeginTransaction() |
Adatbázis-tranzakciót indít el. (Öröklődés forrása DbConnection) |
| IDbConnection.BeginTransaction(IsolationLevel) |
Elindít egy adatbázis-tranzakciót a megadott IsolationLevel értékkel. |
| IDbConnection.BeginTransaction(IsolationLevel) |
A megadott elkülönítési szinttel elindít egy adatbázis-tranzakciót. (Öröklődés forrása DbConnection) |
| IDbConnection.CreateCommand() |
Létrehoz és visszaad egy parancsobjektumot, amely a kapcsolathoz van társítva. |
| IDbConnection.CreateCommand() |
Létrehoz és visszaad egy DbCommand objektumot, amely az aktuális kapcsolathoz van társítva. (Öröklődés forrása DbConnection) |