SqlConnection Osztály

Definíció

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 Integrated Security = true és a felhasználói azonosítót és jelszót tartalmazó SqlCredential objektumot.

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 trueállítva, lehetővé teszi az aktuális kapcsolat statisztikáinak gyűjtését.

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 /> aszinkron verziója, amely adatbázis-kapcsolatot nyit meg a megadott beállításokkal. Ez a metódus meghívja a virtuális metódust OpenAsync(CancellationToken) a CancellationToken.None használatával.

(Öröklődés forrása DbConnection)
OpenAsync(CancellationToken)

A /> aszinkron verziója, amely adatbázis-kapcsolatot nyit meg a megadott tulajdonságbeállításokkal . A lemondási jogkivonat használatával kérheti a művelet megszakítását a kapcsolat időtúllépése előtt. A kivételek propagálása a visszaadott tevékenységen keresztül megtörténik. Ha a kapcsolat időtúllépési ideje sikeres csatlakozás nélkül telik el, a visszaadott feladat kivételként lesz megjelölve. Az implementáció a készletezett és a nem készletezett kapcsolatok hívási szálának blokkolása nélkül ad vissza egy feladatot.

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)

A következőre érvényes:

Lásd még