SqlConnection Sınıf

Tanım

SQL Server veritabanına bağlantıyı temsil eder. Bu sınıf devralınamaz.

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
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
type SqlConnection = class
    inherit DbConnection
type SqlConnection = class
    inherit Component
    interface IDbConnection
    interface IDisposable
    interface ICloneable
type SqlConnection = class
    inherit DbConnection
    interface 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
Devralma
SqlConnection
Devralma
Devralma
Uygulamalar

Örnekler

Aşağıdaki örnek bir SqlCommand ve SqlConnectionoluşturur. SqlConnection açılır ve SqlCommandiçin Connection olarak ayarlanır. Örnek daha sonra ExecuteNonQueryçağırır. Bunu başarmak için ExecuteNonQuery bir SqlConnection ve Transact-SQL INSERT deyimi olan bir sorgu dizesi geçirilir. Kod, using bloğundan çıktığında bağlantı otomatik olarak kapatılır.

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

Açıklamalar

SqlConnection nesnesi, SQL Server veri kaynağı için benzersiz bir oturumu temsil eder. İstemci/sunucu veritabanı sistemi ile sunucuya yapılan ağ bağlantısına eşdeğerdir. SqlConnection, Microsoft SQL Server veritabanına bağlanırken performansı artırmak için SqlDataAdapter ve SqlCommand ile birlikte kullanılır. Tüm üçüncü taraf SQL Server ürünleri ve OLE DB tarafından desteklenen diğer veri kaynakları için OleDbConnectionkullanın.

bir SqlConnectionörneği oluşturduğunuzda, tüm özellikler ilk değerlerine ayarlanır. Bu değerlerin listesi için bkz. SqlConnection oluşturucu.

Bağlantı dizesindeki anahtar sözcüklerin listesi için bkz. ConnectionString.

SqlConnection kapsam dışına çıkarsa kapatılamaz. Bu nedenle, Close veya Disposeçağırarak bağlantıyı açıkça kapatmanız gerekir. Close ve Dispose işlevsel olarak eşdeğerdir. Pooling bağlantı havuzu değeri true veya yesolarak ayarlanırsa, temel alınan bağlantı bağlantı havuzuna geri döndürülür. Öte yandan, Poolingfalse veya noolarak ayarlanırsa, sunucuya temel alınan bağlantı aslında kapatılır.

Not

Bağlantı havuzundan bir bağlantı getirildiğinde veya bağlantı havuzuna döndürülürken bağlantı gerçekten kapatılmadığından, sunucuda oturum açma ve oturum kapatma olayları tetiklenmez. Daha fazla bilgi için bkz. SQL Server Bağlantı Havuzu (ADO.NET).

Bağlantıların her zaman kapalı olduğundan emin olmak için bağlantıyı aşağıdaki kod parçasında gösterildiği gibi bir using bloğunun içinde açın. Bunun yapılması, kod bloktan çıktığında bağlantının otomatik olarak kapatılmasını sağlar.

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

Not

Yüksek performanslı uygulamalar dağıtmak için bağlantı havuzu kullanmanız gerekir. SQL Server için .NET Framework Veri Sağlayıcısı'nı kullandığınızda, bazı ayarları değiştirebilmenize rağmen sağlayıcı bunu otomatik olarak yönettiğinden bağlantı havuzu oluşturmayı etkinleştirmeniz gerekmez. Daha fazla bilgi için bkz. SQL Server Bağlantı Havuzu (ADO.NET).

SqlCommandyürüten yöntem tarafından bir SqlException oluşturulursa, önem düzeyi 19 veya daha az olduğunda SqlConnection açık kalır. Önem düzeyi 20 veya daha büyük olduğunda, sunucu normalde SqlConnectionkapatır. Ancak kullanıcı bağlantıyı yeniden açabilir ve devam edebilir.

SqlConnection nesnesinin bir örneğini oluşturan bir uygulama, bildirim temelli veya kesinlik temelli güvenlik taleplerini ayarlayarak tüm doğrudan ve dolaylı çağıranların kodda yeterli izne sahip olmasını gerektirebilir. SqlConnection, SqlClientPermission nesnesini kullanarak güvenlik talepleri oluşturur. Kullanıcılar, SqlClientPermissionAttribute nesnesini kullanarak kodlarının yeterli izinlere sahip olduğunu doğrulayabilir. Kullanıcılar ve yöneticiler makine, kullanıcı ve kuruluş düzeylerindeki güvenlik ilkesini değiştirmek için Caspol.exe (Kod Erişimi Güvenlik İlkesi Aracı) de kullanabilir. Daha fazla bilgi için bkz. .NETGüvenliği. Güvenlik taleplerinin nasıl kullanılacağını gösteren bir örnek için bkz. Code Access Security ve ADO.NET.

Sunucudan gelen uyarı ve bilgilendirme iletilerini işleme hakkında daha fazla bilgi için bkz. Bağlantı Olayları. SQL Server altyapısı hataları ve hata iletileri hakkında daha fazla bilgi için bkz. Veritabanı Altyapısı Olayları ve Hataları.

Dikkat

Paylaşılan bellek yerine TCP'ye zorlayabilirsiniz. Bunu yapmak için tcp: ön ekini bağlantı dizesindeki sunucu adına ekleyebilir veya localhost kullanabilirsiniz.

Oluşturucular

SqlConnection()

SqlConnection sınıfının yeni bir örneğini başlatır.

SqlConnection(String, SqlCredential)

Integrated Security = true kullanmayan bir bağlantı dizesi ve kullanıcı kimliği ile parolayı içeren bir SqlCredential nesnesi verilip SqlConnection sınıfının yeni bir örneğini başlatır.

SqlConnection(String)

Bağlantı dizesini içeren bir dize verildiğinde SqlConnection sınıfının yeni bir örneğini başlatır.

Özellikler

AccessToken

Bağlantı için erişim belirtecini alır veya ayarlar.

CanCreateBatch

Bu DbConnection örneğinin DbBatch sınıfını destekleyip desteklemediğini gösteren bir değer alır.

(Devralındığı yer: DbConnection)
CanRaiseEvents

Bileşenin olay oluşturup oluşturamayacağını belirten bir değer alır.

(Devralındığı yer: Component)
ClientConnectionId

Girişimin başarılı veya başarısız olmasına bakılmaksızın en son bağlantı girişiminin bağlantı kimliği.

ColumnEncryptionKeyCacheTtl

Always Encrypted özelliği için sütun şifreleme anahtarı önbelleğindeki sütun şifreleme anahtarı girişleri için yaşam süresini alır veya ayarlar. Varsayılan değer 2 saattir. 0, önbelleğe alma olmadığı anlamına gelir.

ColumnEncryptionQueryMetadataCacheEnabled

Always Encrypted etkin veritabanlarında çalışan parametreli sorgular için sorgu meta verilerini önbelleğe alma özelliğinin etkinleştirilip etkinleştirilmediğini (true) veya değil (false) belirten bir değer alır veya ayarlar. Varsayılan değer true değeridir.

ColumnEncryptionTrustedMasterKeyPaths

Veritabanı sunucusu için güvenilen anahtar yollarının listesini ayarlamanıza olanak tanır. Bir uygulama sorgusu işlenirken sürücü listede olmayan bir anahtar yolu alırsa, sorgu başarısız olur. Bu özellik, sahte anahtar yolları sağlayan ve anahtar deposu kimlik bilgilerinin sızmasına neden olabilecek güvenliği aşılmış bir SQL Server içeren güvenlik saldırılarına karşı ek koruma sağlar.

ConnectionString

SQL Server veritabanını açmak için kullanılan dizeyi alır veya ayarlar.

ConnectionTimeout

Denemeyi sonlandırmadan ve hata oluşturmadan önce bağlantı kurmaya çalışırken bekleme süresini (saniye cinsinden) alır.

Container

Componentiçeren IContainer alır.

(Devralındığı yer: Component)
Credential

Bu bağlantı için SqlCredential nesnesini alır veya ayarlar.

Database

Bağlantı açıldıktan sonra kullanılacak geçerli veritabanının veya veritabanının adını alır.

DataSource

Bağlanacak SQL Server örneğinin adını alır.

DbProviderFactory

Bu DbConnectioniçin DbProviderFactory alır.

(Devralındığı yer: DbConnection)
DesignMode

Component şu anda tasarım modunda olup olmadığını gösteren bir değer alır.

(Devralındığı yer: Component)
Events

Bu Componenteklenen olay işleyicilerinin listesini alır.

(Devralındığı yer: Component)
FireInfoMessageEventOnUserErrors

FireInfoMessageEventOnUserErrors özelliğini alır veya ayarlar.

PacketSize

SQL Server örneğiyle iletişim kurmak için kullanılan ağ paketlerinin boyutunu (bayt cinsinden) alır.

ServerVersion

İstemcinin bağlı olduğu SQL Server örneğinin sürümünü içeren bir dize alır.

Site

Component ISite alır veya ayarlar.

(Devralındığı yer: Component)
State

Bağlantıda gerçekleştirilen en son ağ işlemi sırasında SqlConnection durumunu gösterir.

StatisticsEnabled

trueolarak ayarlandığında, geçerli bağlantı için istatistiklerin toplanmasını etkinleştirir.

WorkstationId

Veritabanı istemcisini tanımlayan bir dize alır.

Yöntemler

BeginDbTransaction(IsolationLevel)

Türetilmiş bir sınıfta geçersiz kılındığında bir veritabanı işlemi başlatır.

(Devralındığı yer: DbConnection)
BeginDbTransactionAsync(IsolationLevel, CancellationToken)

Zaman uyumsuz olarak bir veritabanı işlemi başlatır.

(Devralındığı yer: DbConnection)
BeginTransaction()

Bir veritabanı işlemi başlatır.

BeginTransaction(IsolationLevel, String)

Belirtilen yalıtım düzeyine ve işlem adına sahip bir veritabanı işlemi başlatır.

BeginTransaction(IsolationLevel)

Belirtilen yalıtım düzeyine sahip bir veritabanı işlemi başlatır.

BeginTransaction(String)

Belirtilen işlem adıyla bir veritabanı işlemi başlatır.

BeginTransactionAsync(CancellationToken)

Zaman uyumsuz olarak bir veritabanı işlemi başlatır.

(Devralındığı yer: DbConnection)
BeginTransactionAsync(IsolationLevel, CancellationToken)

Zaman uyumsuz olarak bir veritabanı işlemi başlatır.

(Devralındığı yer: DbConnection)
ChangeDatabase(String)

Açık bir SqlConnectioniçin geçerli veritabanını değiştirir.

ChangeDatabaseAsync(String, CancellationToken)

Açık bağlantı için geçerli veritabanını zaman uyumsuz olarak değiştirir.

(Devralındığı yer: DbConnection)
ChangePassword(String, SqlCredential, SecureString)

SqlCredential nesnesinde belirtilen kullanıcının SQL Server parolasını değiştirir.

ChangePassword(String, String)

Bağlantı dizesinde belirtilen kullanıcının SQL Server parolasını sağlanan yeni parolayla değiştirir.

ClearAllPools()

Bağlantı havuzunu boşaltın.

ClearPool(SqlConnection)

Belirtilen bağlantıyla ilişkili bağlantı havuzunu boşaltın.

Close()

Veritabanı bağlantısını kapatır. Bu, herhangi bir açık bağlantıyı kapatmak için tercih edilen yöntemdir.

CloseAsync()

Zaman uyumsuz olarak veritabanı bağlantısını kapatır.

(Devralındığı yer: DbConnection)
CreateBatch()

sağlayıcı sınıfının DbBatch sınıfını uygulayan yeni bir örneğini döndürür.

(Devralındığı yer: DbConnection)
CreateCommand()

SqlConnectionile ilişkili bir SqlCommand nesnesi oluşturur ve döndürür.

CreateDbBatch()

Türetilmiş bir sınıfta geçersiz kılındığında, sağlayıcı sınıfının DbBatch sınıfını uygulayan yeni bir örneğini döndürür.

(Devralındığı yer: DbConnection)
CreateDbCommand()

Türetilmiş bir sınıfta geçersiz kılındığında, geçerli bağlantıyla ilişkili bir DbCommand nesnesi oluşturur ve döndürür.

(Devralındığı yer: DbConnection)
CreateObjRef(Type)

Uzak bir nesneyle iletişim kurmak için kullanılan bir ara sunucu oluşturmak için gereken tüm ilgili bilgileri içeren bir nesne oluşturur.

(Devralındığı yer: MarshalByRefObject)
Dispose()

Yönetilmeyen kaynakları serbest bırakma, serbest bırakma veya sıfırlama ile ilişkili uygulama tanımlı görevleri gerçekleştirir.

(Devralındığı yer: DbConnection)
Dispose()

Componenttarafından kullanılan tüm kaynakları serbest bırakır.

(Devralındığı yer: Component)
Dispose(Boolean)

DbConnection tarafından kullanılan yönetilmeyen kaynakları serbest bırakır ve isteğe bağlı olarak yönetilen kaynakları serbest bırakır.

(Devralındığı yer: DbConnection)
Dispose(Boolean)

Component tarafından kullanılan yönetilmeyen kaynakları serbest bırakır ve isteğe bağlı olarak yönetilen kaynakları serbest bırakır.

(Devralındığı yer: Component)
DisposeAsync()

Zaman uyumsuz olarak bağlantı nesnesine daldırıyor.

(Devralındığı yer: DbConnection)
EnlistDistributedTransaction(ITransaction)

Belirtilen işlemde dağıtılmış işlem olarak listeler.

EnlistTransaction(Transaction)

Belirtilen işlemde dağıtılmış işlem olarak listeler.

EnlistTransaction(Transaction)

Belirtilen işlemdeki listeler.

(Devralındığı yer: DbConnection)
Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetLifetimeService()
Geçersiz.

Bu örnek için yaşam süresi ilkesini denetleen geçerli yaşam süresi hizmet nesnesini alır.

(Devralındığı yer: MarshalByRefObject)
GetSchema()

Bu SqlConnectionveri kaynağı için şema bilgilerini döndürür. Düzen hakkında daha fazla bilgi için bkz. SQL Server Şema Koleksiyonları.

GetSchema()

Bu DbConnectionveri kaynağı için şema bilgilerini döndürür.

(Devralındığı yer: DbConnection)
GetSchema(String, String[])

Bu SqlConnection veri kaynağı için şema bilgilerini, şema adı için belirtilen dizeyi ve kısıtlama değerleri için belirtilen dize dizisini kullanarak döndürür.

GetSchema(String, String[])

Bu DbConnection veri kaynağı için şema bilgilerini, şema adı için belirtilen dizeyi ve kısıtlama değerleri için belirtilen dize dizisini kullanarak döndürür.

(Devralındığı yer: DbConnection)
GetSchema(String)

Şema adı için belirtilen dizeyi kullanarak bu SqlConnection veri kaynağı için şema bilgilerini döndürür.

GetSchema(String)

Şema adı için belirtilen dizeyi kullanarak bu DbConnection veri kaynağı için şema bilgilerini döndürür.

(Devralındığı yer: DbConnection)
GetSchemaAsync(CancellationToken)

Bu, GetSchema()'nin zaman uyumsuz bir sürümüdür. Sağlayıcılar uygun bir uygulamayla geçersiz kılmalıdır. cancellationToken isteğe bağlı olarak kabul edilebilir. Varsayılan uygulama zaman uyumlu GetSchema() çağrısını çağırır ve tamamlanmış bir görev döndürür. Varsayılan uygulama, zaten iptal edilmiş bir cancellationTokengeçirilirse iptal edilmiş bir görev döndürür. GetSchema() tarafından oluşan özel durumlar, döndürülen Görev Özel Durumu özelliği aracılığıyla iletilecektir.

(Devralındığı yer: DbConnection)
GetSchemaAsync(String, CancellationToken)

Bu, GetSchema(String)zaman uyumsuz sürümüdür. Sağlayıcılar uygun bir uygulamayla geçersiz kılmalıdır. cancellationToken isteğe bağlı olarak kabul edilebilir. Varsayılan uygulama zaman uyumlu GetSchema(String) çağrısını çağırır ve tamamlanmış bir görev döndürür. Varsayılan uygulama, zaten iptal edilmiş bir cancellationTokengeçirilirse iptal edilmiş bir görev döndürür. GetSchema(String) tarafından oluşan özel durumlar, döndürülen Görev Özel Durumu özelliği aracılığıyla iletilecektir.

(Devralındığı yer: DbConnection)
GetSchemaAsync(String, String[], CancellationToken)

Bu, GetSchema(String, String[])zaman uyumsuz sürümüdür. Sağlayıcılar uygun bir uygulamayla geçersiz kılmalıdır. cancellationToken isteğe bağlı olarak kabul edilebilir. Varsayılan uygulama zaman uyumlu GetSchema(String, String[]) çağrısını çağırır ve tamamlanmış bir görev döndürür. Varsayılan uygulama, zaten iptal edilmiş bir cancellationTokengeçirilirse iptal edilmiş bir görev döndürür. GetSchema(String, String[]) tarafından oluşan özel durumlar, döndürülen Görev Özel Durumu özelliği aracılığıyla iletilecektir.

(Devralındığı yer: DbConnection)
GetService(Type)

Component veya Containertarafından sağlanan bir hizmeti temsil eden bir nesnesi döndürür.

(Devralındığı yer: Component)
GetType()

Geçerli örneğin Type alır.

(Devralındığı yer: Object)
InitializeLifetimeService()
Geçersiz.

Bu örneğin yaşam süresi ilkesini denetlemek için bir yaşam süresi hizmet nesnesi alır.

(Devralındığı yer: MarshalByRefObject)
MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
MemberwiseClone(Boolean)

Geçerli MarshalByRefObject nesnesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: MarshalByRefObject)
OnStateChange(StateChangeEventArgs)

StateChange olayını başlatır.

(Devralındığı yer: DbConnection)
Open()

ConnectionStringtarafından belirtilen özellik ayarlarıyla bir veritabanı bağlantısı açar.

OpenAsync()

ConnectionStringtarafından belirtilen ayarlarla bir veritabanı bağlantısı açan Open()zaman uyumsuz sürümü. Bu yöntem CancellationToken.None ile OpenAsync(CancellationToken) sanal yöntemini çağırır.

(Devralındığı yer: DbConnection)
OpenAsync(CancellationToken)

ConnectionStringtarafından belirtilen özellik ayarlarıyla bir veritabanı bağlantısı açan Open()zaman uyumsuz sürümü. İptal belirteci, bağlantı zaman aşımı tamamlanmadan önce işlemin terk edilmesi isteğinde bulunmak için kullanılabilir. Özel durumlar döndürülen Görev aracılığıyla yayılır. Bağlantı zaman aşımı süresi başarıyla bağlanmadan sona ererse, döndürülen Görev bir Özel Durum ile hatalı olarak işaretlenir. Uygulama, hem havuza alınan hem de havuza alınmayan bağlantılar için çağıran iş parçacığını engellemeden bir Görev döndürür.

OpenAsync(CancellationToken)

Bu, Open()zaman uyumsuz sürümüdür. Sağlayıcılar uygun bir uygulamayla geçersiz kılmalıdır. İptal belirteci isteğe bağlı olarak kabul edilebilir.

Varsayılan uygulama zaman uyumlu Open() çağrısını çağırır ve tamamlanmış bir görev döndürür. Varsayılan uygulama, iptal edilmiş bir cancellationToken geçirilirse iptal edilmiş bir görev döndürür. Open tarafından oluşan özel durumlar, döndürülen Görev Özel Durumu özelliği aracılığıyla iletilecektir.

Döndürülen Görev tamamlanana kadar DbConnection nesnesinin diğer yöntemlerini ve özelliklerini çağırmayın.

(Devralındığı yer: DbConnection)
RegisterColumnEncryptionKeyStoreProviders(IDictionary<String,SqlColumnEncryptionKeyStoreProvider>)

Sütun şifreleme anahtar deposu sağlayıcılarını kaydeder.

ResetStatistics()

İstatistik toplama etkinse, tüm değerler sıfıra sıfırlanır.

RetrieveStatistics()

Yöntemin çağrıldığı noktada istatistiklerden oluşan bir ad değer çifti koleksiyonu döndürür.

ToString()

Geçerli nesneyi temsil eden bir dize döndürür.

(Devralındığı yer: Object)
ToString()

varsa, Componentadını içeren bir String döndürür. Bu yöntem geçersiz kılınmamalıdır.

(Devralındığı yer: Component)

Ekinlikler

Disposed

Bileşen Dispose() yöntemine yapılan bir çağrıyla atıldığında gerçekleşir.

(Devralındığı yer: Component)
InfoMessage

SQL Server bir uyarı veya bilgilendirme iletisi döndürdüğünde gerçekleşir.

StateChange

Bağlantının durumu değiştiğinde gerçekleşir.

StateChange

Bağlantının durumu değiştiğinde gerçekleşir.

(Devralındığı yer: DbConnection)

Belirtik Arabirim Kullanımları

ICloneable.Clone()

Geçerli örneğin kopyası olan yeni bir nesne oluşturur.

IDbConnection.BeginTransaction()

Veritabanı işlemini başlatır.

IDbConnection.BeginTransaction()

Veritabanı işlemini başlatır.

(Devralındığı yer: DbConnection)
IDbConnection.BeginTransaction(IsolationLevel)

Belirtilen IsolationLevel değeriyle bir veritabanı işlemi başlatır.

IDbConnection.BeginTransaction(IsolationLevel)

Belirtilen yalıtım düzeyine sahip bir veritabanı işlemi başlatır.

(Devralındığı yer: DbConnection)
IDbConnection.CreateCommand()

Bağlantıyla ilişkili bir Command nesnesi oluşturur ve döndürür.

IDbConnection.CreateCommand()

Geçerli bağlantıyla ilişkili bir DbCommand nesnesi oluşturur ve döndürür.

(Devralındığı yer: DbConnection)

Şunlara uygulanır

Ayrıca bkz.