Share via


SqlConnection.ConnectionString Özellik

Tanım

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

public:
 virtual property System::String ^ ConnectionString { System::String ^ get(); void set(System::String ^ value); };
[System.ComponentModel.SettingsBindable(true)]
public override string ConnectionString { get; set; }
public override string ConnectionString { get; set; }
[<System.ComponentModel.SettingsBindable(true)>]
member this.ConnectionString : string with get, set
member this.ConnectionString : string with get, set
Public Overrides Property ConnectionString As String

Özellik Değeri

Kaynak veritabanı adını ve ilk bağlantıyı kurmak için gereken diğer parametreleri içeren bağlantı dizesi. Varsayılan değer boş bir dizedir.

Öznitelikler

Özel durumlar

Geçersiz bir bağlantı dizesi bağımsız değişkeni sağlandı veya gerekli bir bağlantı dizesi bağımsız değişkeni sağlanmadı.

Örnekler

Aşağıdaki örnek bir SqlConnection oluşturur ve bağlantıyı açmadan önce özelliğini ayarlar ConnectionString .

using Microsoft.Data.SqlClient;

class Program
{
    static void Main()
    {
        OpenSqlConnection();
        Console.ReadLine();
    }

    private static void OpenSqlConnection()
    {
        string connectionString = GetConnectionString();

        using (SqlConnection connection = new SqlConnection())
        {
            connection.ConnectionString = connectionString;

            connection.Open();

            Console.WriteLine("State: {0}", connection.State);
            Console.WriteLine("ConnectionString: {0}",
                connection.ConnectionString);
        }
    }

    static private string GetConnectionString()
    {
        // To avoid storing the connection string in your code, 
        // you can retrieve it from a configuration file.
        return "Data Source=MSSQL1;Initial Catalog=AdventureWorks;"
            + "Integrated Security=true;";
    }
}

Açıklamalar

ConnectionString bir OLE DB bağlantı dizesi benzer, ancak aynı değildir. OLE DB veya ADO'un aksine, döndürülen bağlantı dizesi kullanıcı kümesiyle ConnectionStringaynıdır ve Güvenlik Bilgilerini Kalıcı Hale Getirmek için (varsayılan) olarak ayarlanmışsa false güvenlik bilgileri çıkarılır. SQL Server için .NET Framework Veri Sağlayıcısı, Güvenlik Bilgilerini trueKalıcı Hale Getir olarak ayarlamadığınız sürece parolayı bir bağlantı dizesi kalıcı yapmaz veya döndürmez.
bir veritabanına bağlanmak için özelliğini kullanabilirsiniz ConnectionString . Aşağıdaki örnekte tipik bir bağlantı dizesi gösterilmektedir.

"Persist Security Info=False;Integrated Security=true;Initial Catalog=Northwind;server=(local)"  

Çalışma zamanında geçerli bağlantı dizeleri oluşturmak için yeni SqlConnectionStringBuilder öğesini kullanın. Daha fazla bilgi için bkz . Bağlantı Dizesi Oluşturucuları.

ConnectionString Özelliği yalnızca bağlantı kapatıldığında ayarlanabilir. bağlantı dizesi değerlerinin çoğunun karşılık gelen salt okunur özellikleri vardır. bağlantı dizesi ayarlandığında, bir hata algılandığı durumlar dışında bu özellikler güncelleştirilir. Bu durumda, özelliklerin hiçbiri güncelleştirilmez. SqlConnection özellikleri yalnızca içinde ConnectionStringbulunan ayarları döndürür.

Yerel bir bilgisayara bağlanmak için sunucu için "(yerel)" belirtin. Sunucu adı belirtilmezse, yerel bilgisayardaki varsayılan örneğe bağlantı denenecektir.

kapalı bir bağlantının sıfırlanmasıConnectionString, parola dahil olmak üzere tüm bağlantı dizesi değerlerini (ve ilgili özellikleri) sıfırlar. Örneğin, "Database= AdventureWorks" içeren bir bağlantı dizesi ayarlar ve ardından bağlantı dizesi "Data Source=myserver; Integrated Security=true", Database özelliği artık "AdventureWorks" olarak ayarlanmadı.

bağlantı dizesi ayarlandıktan hemen sonra ayrıştırılır. Ayrıştırma sırasında söz diziminde hatalar bulunursa, gibi ArgumentExceptionbir çalışma zamanı özel durumu oluşturulur. Diğer hatalar yalnızca bağlantıyı açma girişiminde bulunulduğunda bulunabilir.

bağlantı dizesi temel biçimi, noktalı virgülle ayrılmış bir dizi anahtar sözcük/değer çifti içerir. Eşittir işareti (=), her anahtar sözcüğü ve değerini bağlar. Noktalı virgül, tek tırnak karakteri veya çift tırnak karakteri içeren değerleri eklemek için, değer çift tırnak içine alınmalıdır. Değer hem noktalı virgül hem de çift tırnak karakteri içeriyorsa, değer tek tırnak içine eklenebilir. Tek tırnak işareti, değer çift tırnak karakteriyle başlıyorsa da yararlıdır. Buna karşılık, değer tek tırnak işaretiyle başlıyorsa çift tırnak işareti kullanılabilir. Değer hem tek tırnak hem de çift tırnak karakterleri içeriyorsa, değerin içine almak için kullanılan tırnak işareti karakteri, değer içinde her gerçekleştiğinde iki katına çıkarılmalıdır.

Dize değerine önceki veya sondaki boşlukları eklemek için, değerin tek tırnak işareti veya çift tırnak içine alınması gerekir. Tamsayı, Boole veya numaralandırılmış değerlerin etrafındaki baştaki veya sondaki boşluklar, tırnak içine alınmış olsa bile yoksayılır. Ancak, bir dize değişmez değeri veya değeri içindeki boşluklar korunur. Tırnak işareti karakteri değerdeki ilk veya son karakter olmadığı sürece, tek veya çift tırnak işaretleri sınırlayıcılar kullanılmadan bir bağlantı dizesi (örneğin, Veri Kaynağı= my'Server veya Veri Kaynağı= my"Server) içinde kullanılabilir.

Anahtar sözcükler büyük/küçük harfe duyarlı değildir.

Aşağıdaki tabloda içindeki anahtar sözcük değerleri için geçerli adlar listelemektedir ConnectionString.

Anahtar sözcük Varsayılan Açıklama
Adresi Yok Veri Kaynağının Eş Anlamlısı.
Adres Yok Veri Kaynağının Eş Anlamlısı.
Uygulama Yok Uygulama Adı eş anlamlısı.
Uygulama Amacı

-veya-

ApplicationIntent
ReadWrite Sunucuya bağlanırken uygulama iş yükü türünü bildirir. Olası değerler ve ReadWritedeğerleridirReadOnly. Örnek:

ApplicationIntent=ReadOnly

Always On Kullanılabilirlik Grupları için SqlClient desteği hakkında daha fazla bilgi için bkz. Yüksek Kullanılabilirlik için SqlClient Desteği, Olağanüstü Durum Kurtarma.
Uygulama Adı Yok Uygulamanın adı. Uygulama adı sağlanmazsa, .NET Framework üzerinde çalışırken 'Framework Microsoft SqlClient Veri Sağlayıcısı' ve aksi takdirde 'Core Microsoft SqlClient Veri Sağlayıcısı'.

Uygulama adı 128 karakter veya daha kısa olabilir.
Attachdbfilename

-veya-

Genişletilmiş Özellikler

-veya-

İlk Dosya Adı
Yok Eklenebilir veritabanının tam yol adı da dahil olmak üzere birincil veritabanı dosyasının adı. AttachDBFilename yalnızca .mdf uzantısına sahip birincil veri dosyaları için desteklenir.

AttachDBFileName anahtarının değeri bağlantı dizesi belirtilirse, veritabanı eklenir ve bağlantı için varsayılan veritabanı olur.

Bu anahtar belirtilmezse ve veritabanı daha önce eklenmişse, veritabanı yeniden bağlanmaz. Önceden eklenen veritabanı, bağlantı için varsayılan veritabanı olarak kullanılır.

Bu anahtar AttachDBFileName anahtarıyla birlikte belirtilirse, bu anahtarın değeri diğer ad olarak kullanılır. Ancak, ad başka bir ekli veritabanında zaten kullanılıyorsa bağlantı başarısız olur.

DataDirectory değiştirme dizesini kullanarak yol mutlak veya göreli olabilir. DataDirectory kullanılırsa veritabanı dosyası, değiştirme dizesi tarafından işaret edilen dizinin bir alt dizininde bulunmalıdır. Not: Uzak sunucu, HTTP ve UNC yol adları desteklenmez.

Veritabanı adı, aşağıdaki gibi 'database' (veya diğer adlarından biri) anahtar sözcüğüyle belirtilmelidir:

"AttachDbFileName=|DataDirectory|\data\YourDB.mdf;integrated security=true;database=YourDatabase"

Veri dosyasıyla aynı dizinde bir günlük dosyası varsa ve birincil veri dosyası eklenirken 'database' anahtar sözcüğü kullanılırsa bir hata oluşturulur. Bu durumda günlük dosyasını kaldırın. Veritabanı eklendikten sonra, fiziksel yola göre otomatik olarak yeni bir günlük dosyası oluşturulur.
Kanıtlama Protokolü Notspecified Kanıtlama Protokolü değerini alır veya ayarlar.

Hiçbir değer belirtilmediğinde, bağlantıda güvenli kuşatmalar devre dışı bırakılır.

Geçerli değerler:
AAS
HGS
None (Yalnızca v3.1 ve v4.1+'da geçerlidir))
Kimlik Doğrulaması Yok Azure Active Directory Kimlik Doğrulamasını Kullanarak SQL Veritabanı Bağlanma için kullanılan kimlik doğrulama yöntemi.

Geçerli değerler:

Active Directory Integrated, Active Directory Interactive, Active Directory Password, Active Directory Service Principal, Active Directory Device Code Flow, Active Directory Managed Identity, Active Directory MSI, Active Directory Default, Sql Password.

Ek bilgi için bkz . SqlClient ile Azure Active Directory kimlik doğrulamasını kullanma.
Sütun Şifreleme Ayarı devre dışı Bağlantı için Always Encrypted işlevselliği etkinleştirir veya devre dışı bırakır. Desteklenen değerler şunlardır: enabled ve disabled
Komut Zaman Aşımı 30 Komut yürütme girişimini sonlandırmadan ve hata oluşturmadan önce varsayılan bekleme süresi (saniye cinsinden).

Geçerli değerler 0'a eşit veya daha büyük ve 2147483647 küçük veya buna eşittir.
Bağlanma Yeniden Deneme Sayısı

-veya-

ConnectRetryCount
1 İstemci boşta bağlantı hatası belirledikten sonra yeniden bağlanma denemelerinin sayısını denetler. Geçerli değerler 0 ile 255'tir. 0, yeniden bağlanma girişiminde bulunmayan (bağlantı dayanıklılığını devre dışı bırakma) anlamına gelir.

Not: Sürüm 5.x'ten itibaren Azure olmayan uç noktalar için varsayılan değer 1'dir. Azure SQL uç noktaları için varsayılan değer 2'dir. Sunucusuz veya isteğe bağlı Azure SQL uç noktaları için, boşta veya duraklatılmış bir örneğe yapılan bağlantıların bağlantı başarısını artırmak için varsayılan değer 5'tir.

Boşta bağlantı dayanıklılığı hakkında ek bilgi için bkz. Bağlantı yeniden denemesi için .NET SqlConnection parametreleri ve Teknik Makale - Boşta Bağlantı Dayanıklılığı.
Yeniden Deneme Aralığına Bağlan

-veya-

ConnectRetryInterval
10 Her bağlantı yeniden deneme girişimi (ConnectRetryCount) arasındaki süreyi belirtir. Geçerli değerler, ilk yeniden bağlanma girişiminden sonra uygulanan 1 ile 60 saniye (default=10) arasındadır. Kopuk bir bağlantı algılandığında istemci hemen yeniden bağlanmayı dener; bu ilk yeniden bağlanma girişimidir ve yalnızca 0'dan büyükse ConnectRetryCount gerçekleşir. İlk yeniden bağlantı girişimi başarısız olursa ve ConnectRetryCount 1'den büyükse, istemci ikinci ve sonraki yeniden bağlantı girişimlerini denemek için bekler ConnectRetryInterval .

Boşta bağlantı dayanıklılığı hakkında ek bilgi için bkz. Bağlantı yeniden denemesi için.NET SqlConnection parametreleri ve Teknik Makale - Boşta Bağlantı Dayanıklılığı.
Bağlanma Zaman Aşımı

-veya-

Bağlantı Zaman Aşımı

-veya-

Zaman aşımı
15 Denemeyi sonlandırmadan ve hata oluşturmadan önce sunucu bağlantısını bekleme süresi (saniye cinsinden).

Geçerli değerler 0'a eşit veya daha büyük ve 2147483647 küçük veya buna eşittir.

Azure SQL Veritabanına bağlantı açarken bağlantı zaman aşımını 30 saniye olarak ayarlayın.
Geçerli Dil

-veya-

Dil
Yok Veritabanı sunucusu uyarı veya hata iletileri için kullanılan dili ayarlar.

Dil adı 128 karakter veya daha kısa olabilir.
Veri Kaynağı

-veya-

Sunucu

-veya-

Adres

-veya-

Adresi

-veya-

Ağ Adresi
Yok Bağlanacak SQL Server örneğinin adı veya ağ adresi. Bağlantı noktası numarası sunucu adından sonra belirtilebilir:

server=tcp:servername, portnumber

Yerel bir örnek belirtirken her zaman (yerel) kullanın. Protokolü zorlamak için aşağıdaki ön eklerden birini ekleyin:

np:(local), tcp:(local), lpc:(local)

Bir LocalDB veritabanına aşağıdaki gibi de bağlanabilirsiniz:

server=(localdb)\\myInstance

LocalDB hakkında daha fazla bilgi için bkz. LocalDB için SqlClient Desteği.

Veri Kaynağı TCP biçimini veya Adlandırılmış Kanallar biçimini kullanmalıdır.

TCP biçimi aşağıdaki gibidir:

- tcp:<host name>\<instance name>
- tcp:<ana bilgisayar adı,TCP></IP bağlantı noktası numarası>

TCP biçimi "tcp:" ön eki ile başlamalıdır ve ardından bir konak adı ve örnek adı ile belirtildiği gibi veritabanı örneği gelir. Bu biçim, Azure SQL Veritabanına bağlanırken geçerli değildir. Protokol belirtilmediğinde Azure SQL Veritabanına yapılan bağlantılar için TCP otomatik olarak seçilir.

Ana bilgisayar adı aşağıdaki yollardan biriyle belirtilmelidir:

- NetBIOSName
- IPv4Address
- IPv6Address

Örnek adı, veritabanı örneğinin barındırıldığı belirli bir TCP/IP bağlantı noktası numarasına çözümlemek için kullanılır. Alternatif olarak, tcp/IP bağlantı noktası numarasını doğrudan belirtmeye de izin verilir. Hem örnek adı hem de bağlantı noktası numarası yoksa, varsayılan veritabanı örneği kullanılır.

Adlandırılmış Kanallar biçimi aşağıdaki gibidir:

- np:\\<ana bilgisayar adı>\kanal\<kanal adı>

Adlandırılmış Kanallar biçimi "np:" ön eki ile başlamalıdır ve ardından adlandırılmış kanal adı gelir.

Ana bilgisayar adı aşağıdaki yollardan biriyle belirtilmelidir:

- NetBIOSName
- IPv4Address
- IPv6Address

Kanal adı, .NET uygulamasının bağlanacağı veritabanı örneğini tanımlamak için kullanılır.

anahtarının değeri belirtilirse, "tcp:" ve "np:" ön ekleri belirtilmemelidir. Not: tcp: ön ekini bağlantı dizesi sunucu adına ekleyerek veya localhost kullanarak paylaşılan bellek yerine TCP kullanımını zorlayabilirsiniz.
Kapanım Kanıtlama Url'si Yok Kapanım tabanlı Always Encrypted kullanılacak kapanım kanıtlama URL'sini alır veya ayarlar.
Encrypt 4.0 ve üzerinde 'true'

3.x ve altındaki 'false'
Tanınan değerler şunlardır:
sürüm 1 - 4: true/yes ve false/no
sürüm 5+: truemandatory/yes/, falseno//optional ve .strict olduğunda true, sunucuda bir sertifika yüklüyse, istemci ile sunucu arasında gönderilen tüm veriler için TLS şifrelemesi kullanılır. olduğunda strict, TDS 8.0 TLS şifrelemesi kullanılır ve TrustServerCertificate ayar yoksayılır ve false olarak değerlendirilir. Daha fazla bilgi için bkz. Bağlantı Dizesi Söz Dizimi.

Encrypt veya strict olduğunda mandatory ve TrustServerCertificate olduğundafalse, bir sunucunun sertifikasındaki sunucu adı (veya IP adresi), bağlantı dizesi belirtilen sunucu adıyla (veya IP adresiyle) tam olarak eşleşmelidir. Aksi takdirde bağlantı girişimi başarısız olur.
Askere 'true' trueSQL Server bağlantı havuzu oluşturucunun bağlantıyı oluşturma iş parçacığının geçerli işlem bağlamında otomatik olarak listelediğini gösterir.
Yük Devretme İş Ortağı Yok Veritabanı yansıtmanın yapılandırıldığı yük devretme iş ortağı sunucusunun adı.

Bu anahtarın değeri "" ise, İlk Katalog mevcut olmalı ve değeri "" olmamalıdır.

Sunucu adı 128 karakter veya daha kısa olabilir.

Bir yük devretme iş ortağı belirtirseniz ancak yük devretme ortağı sunucusu veritabanı yansıtması için yapılandırılmamışsa ve birincil sunucu (Sunucu anahtar sözcüğüyle belirtilir) kullanılamıyorsa, bağlantı başarısız olur.

Bir yük devretme ortağı belirtirseniz ve birincil sunucu veritabanı yansıtması için yapılandırılmamışsa, birincil sunucu kullanılabilir durumdaysa birincil sunucu bağlantısı (Sunucu anahtar sözcüğüyle belirtilir) başarılı olur.
Yük Devretme İş Ortağı SPN

-veya-

FailoverPartnerSPN
Yok Yük devretme iş ortağı için SPN. Varsayılan değer boş bir dizedir ve bu da SqlClient'ın varsayılan, sürücü tarafından oluşturulan SPN'yi kullanmasına neden olur.

(Yalnızca v5.0+'da kullanılabilir)
Sertifikadaki ana bilgisayar adı

-veya-

HostNameInCertificate
Yok Sunucu sertifikası doğrulanırken kullanılacak ana bilgisayar adı. Belirtilmediğinde, sertifika doğrulaması için Veri Kaynağı'ndan sunucu adı kullanılır.

(Yalnızca v5.0+'da kullanılabilir)
Sunucu Sertifikası

-veya-

ServerCertificate
Yok SQL Server TLS/SSL sertifikasıyla eşleşecek bir sertifika dosyasının yolu. Kabul edilen sertifika biçimleri PEM, DER ve CER'tir. Belirtilirse, sağlanan ServerCertificate'in tam olarak eşleşip eşleşmediği doğrulanarak SQL Server sertifikası denetlenir.

(Yalnızca v5.1+'da kullanılabilir)
İlk Katalog

-veya-

Veritabanı
Yok Veritabanının adı.

Veritabanı adı 128 karakter veya daha kısa olabilir.
Tümleşik Güvenlik

-veya-

Trusted_connection
'false' , falseKullanıcı Kimliği ve Parola bağlantıda belirtildiğinde. olduğunda true, kimlik doğrulaması için geçerli Windows hesabı kimlik bilgileri kullanılır.

Tanınan değerlertrue, ile eşdeğer trueolan , yesfalse, , nove sspi (kesinlikle önerilir) değerleridir.

Kullanıcı Kimliği ve Parola belirtilirse ve Tümleşik Güvenlik true olarak ayarlanırsa, Kullanıcı Kimliği ve Parola yoksayılır ve Tümleşik Güvenlik kullanılır.

SqlCredential, SQL Server Kimlik Doğrulaması (Integrated Security=false) kullanan bir bağlantı için kimlik bilgilerini belirtmenin daha güvenli bir yoludur.
IP Adresi Tercihi

-veya-

IPAddressPreference
IPv4First TCP bağlantıları kurulurken IP adresi ailesi tercihi. (.NET Framework içinde) veya Multi Subnet Failover true olarak ayarlandıysa Transparent Network IP Resolution , bu ayarın hiçbir etkisi olmaz. Desteklenen değerler şunlardır:

IPAddressPreference=IPv4First

IPAddressPreference=IPv6First

IPAddressPreference=UsePlatformDefault
Yük Dengeleme Zaman Aşımı

-veya-

Bağlantı Ömrü
0 Havuza bir bağlantı döndürülürse, oluşturma süresi geçerli saatle karşılaştırılır ve bu zaman aralığı (saniye cinsinden) tarafından Connection Lifetimebelirtilen değeri aşarsa bağlantı yok edilir. Bu, kümelenmiş yapılandırmalarda çalışan bir sunucu ile yeni çevrimiçi duruma getirilen bir sunucu arasında yük dengelemeye zorlamak için kullanışlıdır.

Sıfır (0) değeri, havuza alınan bağlantıların en yüksek bağlantı zaman aşımına sahip olmasına neden olur.
En Büyük Havuz Boyutu 100 Havuzda izin verilen en fazla bağlantı sayısı.

Geçerli değerler 1'den büyüktür veya 1'e eşittir. Minimum Havuz Boyutundan küçük değerler hata oluşturur.
En Düşük Havuz Boyutu 0 Havuzda izin verilen en az bağlantı sayısı.

Geçerli değerler 0'dan büyük veya buna eşittir. Bu alandaki sıfır (0), başlangıçta en az bağlantı açılmaz anlamına gelir.

En Büyük Havuz Boyutundan büyük değerler hata oluşturur.
Birden Çok Etkin Sonuç Kümesi

-veya-

MultipleActiveResultSets
yanlış olduğunda true, bir uygulama birden çok etkin sonuç kümesini (MARS) koruyabilir. olduğunda false, bir uygulamanın bir toplu işteki tüm sonuç kümelerini işlemesi veya iptal etmesi gerekir.

Tanınan değerler ve falsedeğerleridirtrue.

Daha fazla bilgi için bkz . Birden Çok Etkin Sonuç Kümesi (MARS).
Çoklu Alt Ağ Yük Devretme

-veya-

MultiSubnetFailover
yanlış Her zaman bir SQL Server 2012 (veya üzeri) kullanılabilirlik grubunun veya SQL Server 2012 (veya üzeri) bir Yük Devretme Kümesi Örneğinin kullanılabilirlik grubu dinleyicisine bağlanırken belirtinmultiSubnetFailover=True. multiSubnetFailover=True , (şu anda) etkin sunucuya daha hızlı algılama ve bağlantı sağlamak için SqlClient'ı yapılandırır. Olası değerler ve Nove True veya False1 ve 0değerleridirYes. Örnek:

MultiSubnetFailover=True

Varsayılan değer: False. SqlClient'ın Always On AG desteği hakkında daha fazla bilgi için bkz. Yüksek Kullanılabilirlik için SqlClient Desteği, Olağanüstü Durum Kurtarma.
Ağ Kitaplığı

-veya-



-veya-

Net
Yok SQL Server örneğine bağlantı kurmak için kullanılan ağ kitaplığı. Desteklenen değerler şunlardır:

dbnmpntw (Adlandırılmış Kanallar)

dbmsrpcn (Multiprotocol, Windows RPC)

dbmsadsn (Apple Talk)

dbmsgnet (VIA)

dbmslpcn (Paylaşılan Bellek)

dbmsspxn (IPX/SPX)

dbmssocn (TCP/IP)

Dbmsvinn (Banyan Vines)

Buna karşılık gelen ağ DLL'sinin bağlandığınız sistemde yüklü olması gerekir. Bir ağ belirtmezseniz ve yerel sunucu kullanıyorsanız (örneğin, "." veya "(yerel)"), paylaşılan bellek kullanılır. Bu örnekte, ağ kitaplığı Win32 Winsock TCP/IP (dbmssocn) ve 1433 kullanılan bağlantı noktasıdır.

Network Library=dbmssocn;Data Source=000.000.000.000,1433;
Paket Boyutu 8000 SQL Server örneğiyle iletişim kurmak için kullanılan ağ paketlerinin bayt cinsinden boyutu.

Paket boyutu 512'den büyük veya buna eşit ve 32768'den küçük veya buna eşit olabilir.
Parola

-veya-

PWD
Yok Oturum açan SQL Server hesabının parolası. Önerilmez. Yüksek düzeyde güvenlik sağlamak için bunun yerine veya Trusted_Connection anahtar sözcüğünü Integrated Security kullanmanızı kesinlikle öneririz. SqlCredential, SQL Server Kimlik Doğrulaması kullanan bir bağlantı için kimlik bilgilerini belirtmenin daha güvenli bir yoludur.

Parola 128 karakter veya daha kısa olmalıdır.
Güvenlik Bilgilerini Kalıcı Hale

-veya-

PersistSecurityInfo
'false' veya no olarak ayarlandığında false (kesinlikle önerilir), parola veya erişim belirteci gibi güvenlik açısından hassas bilgiler, bağlantı açıksa veya açık durumdaysa bağlantının bir parçası olarak döndürülmüyor. Bu özellik yalnızca uygulamanızın zaten açılmış bir veritabanı bağlantısından parolayı okuması için belirli bir ihtiyacı varsa olarak ayarlanmalıdır true . varsayılan değeri false daha güvenli bir ayardır; bu özellik için kullanıldığında true , yanlışlıkla günlüğe kaydetme veya veritabanı parolasını izleme gibi güvenlik risklerine karşı uygulamanızı açar.

bağlantı dizesi sıfırlandığında parola da dahil olmak üzere tüm bağlantı dizesi değerleri sıfırlanır. Tanınan değerler , false, yesve nodeğerleridirtrue.
Havuz Engelleme Dönemi

-veya-

PoolBlockingPeriod
Otomatik Bağlantı havuzu için engelleme süresi davranışını ayarlar. Ayrıntılar için bkz PoolBlockingPeriod . özelliği.
Biriktirme 'true' Bu anahtarın değeri true olarak ayarlandığında, uygulama tarafından kapatıldığında yeni oluşturulan tüm bağlantılar havuza eklenir. Aynı bağlantıyı bir sonraki açma girişiminde, bu bağlantı havuzdan çekilir.

Connections aynı bağlantı dizesi sahipse aynı kabul edilir. Farklı bağlantıların farklı bağlantı dizeleri vardır.

Bu anahtarın değeri "true", "false", "yes" veya "hayır" olabilir.
Çoğaltma 'false' true çoğaltma bağlantı kullanılarak destekleniyorsa.
Sunucu SPN

-veya-

ServerSPN
Yok Veri kaynağı için SPN. Varsayılan değer boş bir dizedir ve bu da SqlClient'ın sürücü tarafından oluşturulan varsayılan SPN'yi kullanmasına neden olur.

(Yalnızca v5.0+'da kullanılabilir)
İşlem Bağlama Örtük Bağlamayı Kaldırma Listelenmiş bir işlemle bağlantı ilişkilendirmeyi System.Transactions denetler.

Olası değerler şunlardır:

Transaction Binding=Implicit Unbind;

Transaction Binding=Explicit Unbind;

Örtük Unbind, bağlantının sona erdiğinde işlemden ayrılmasına neden olur. Ayırma işleminden sonra, bağlantıdaki ek istekler otomatik komut modunda gerçekleştirilir. System.Transactions.Transaction.Current İşlem etkinken istekler yürütülürken özelliği denetlenmiyor. İşlem sona erdikten sonra otomatik komut modunda ek istekler gerçekleştirilir.

Sistem son komut tamamlanmadan önce işlemi (bir kullanan blok kapsamında) sona erdirirse, oluşturur InvalidOperationException.

Açık Bağlama, bağlantı kapatılana veya açık SqlConnection.TransactionEnlist(null) çağrılana kadar bağlantının işleme bağlı kalmasına neden olur. .NET Framework 4.0 sürümünden başlayarak Örtük Unbind'de yapılan değişiklikler, Açık Bağlamayı Kaldırma'yı kullanımdan kaldırıyor. Listelenmiş işlem değilse Transaction.Current veya kayıtlı işlem etkin değilse bir InvalidOperationException oluşturulur.
Saydam Ağ IP Çözümlemesi

-veya-

TransparentNetworkIPResolution
Açıklamaya bakın. Bu anahtarın değeri olarak ayarlandığında true, uygulamanın belirli bir DNS girdisinin tüm IP adreslerini alması ve listedeki ilk girişle bağlanmayı denemesi gerekir. Bağlantı 0,5 saniye içinde kurulmazsa, uygulama diğer tüm kullanıcılara paralel olarak bağlanmayı dener. İlk yanıtlar verildiğinde, uygulama yanıtlayan IP adresiyle bağlantı kurar.

MultiSubnetFailover Anahtar olarak ayarlanırsa trueTransparentNetworkIPResolution yoksayılır.

Failover Partner Anahtar ayarlandıysa TransparentNetworkIPResolution yoksayılır.

Bu anahtarın değeri , false, yesveya noolmalıdırtrue.

değeri yes değeri ile aynı kabul trueedilir.

değeri no değeri ile aynı kabul falseedilir.

Varsayılan değerler aşağıdaki gibidir:

  • false Tesis:

    • Veri kaynağının sona erdiği Azure SQL Veritabanına bağlanma:

      • .database.chinacloudapi.cn
      • .database.usgovcloudapi.net
      • .database.cloudapi.de
      • .database.windows.net
    • Authentication 'Active Directory Parolası' veya 'Active Directory Tümleşik'
  • Diğer tüm durumlarda true.
Güven Sunucusu Sertifikası

-veya-

Trustservercertificate
'false' olarak ayarlandığında true, güveni doğrulamak için sertifika zincirinde yürümeyi atlarken kanalı şifrelemek için TLS kullanılır. TrustServerCertificate olarak ve true Şifrele ayarı falseise, kanal şifrelenmez. Tanınan değerler , false, yesve nodeğerleridirtrue. Daha fazla bilgi için bkz . Bağlantı Dizesi Sözdizimi.
Tür Sistem Sürümü Yok Uygulamanın beklediği tür sistemini gösteren dize değeri. İstemci uygulamasının kullanabileceği işlevsellik, SQL Server sürümüne ve veritabanının uyumluluk düzeyine bağlıdır. İstemci uygulamasının yazıldığı tür sistemi sürümünü açıkça ayarlamak, farklı bir SQL Server sürümü kullanılırsa uygulamanın bozulmasına neden olabilecek olası sorunları önler. Not: Tür sistemi sürümü, SQL Server'da işlem içinde yürütülen ortak dil çalışma zamanı (CLR) kodu için ayarlanamaz. Daha fazla bilgi için bkz. Ortak Dil Çalışma Zamanı Tümleştirmesi SQL Server.

Olası değerler şunlardır:

Type System Version=SQL Server 2012;

Type System Version=SQL Server 2008;

Type System Version=SQL Server 2005;

Type System Version=Latest;

Type System Version=SQL Server 2012; uygulamanın Microsoft.SqlServer.Types.dll 11.0.0.0 sürümünü gerektirdiğini belirtir. Diğer Type System Version ayarlar için Microsoft.SqlServer.Types.dll 10.0.0.0 sürümü gerekir.

Latest kullanımdan kaldırıldı ve kullanılmamalıdır. Latest, Type System Version=SQL Server 2008; ile eşdeğerdir.
Kullanıcı Kimliği

-veya-

UID

-veya-

Kullanıcı
Yok SQL Server oturum açma hesabı. Önerilmez. Yüksek düzeyde güvenlik sağlamak için, bunun yerine veya Trusted_Connection anahtar sözcüklerini kullanmanızı Integrated Security kesinlikle öneririz. SqlCredential, SQL Server Kimlik Doğrulaması kullanan bir bağlantı için kimlik bilgilerini belirtmenin daha güvenli bir yoludur.

Kullanıcı kimliği 128 karakter veya daha kısa olmalıdır.
Kullanıcı Örneği 'false' Varsayılan SQL Server Express örneğindeki bağlantının çağıranın hesabı altında çalışan çalışma zamanı tarafından başlatılan örneğe yeniden yönlendirilip yönlendirilmeyeceğini gösteren değer.
İş İstasyonu Kimliği

-veya-

WSID
Yerel bilgisayar adı SQL Server'a bağlanan iş istasyonunun adı.

Kimlik 128 karakter veya daha kısa olmalıdır.

Aşağıdaki liste, içindeki ConnectionStringbağlantı havuzu değerleri için geçerli adları içerir. Daha fazla bilgi için bkz. SQL Server Bağlantı Havuzu (ADO.NET).

  • Bağlantı Ömrü (veya Yük Dengeleme Zaman Aşımı)

  • Askere

  • En Büyük Havuz Boyutu

  • En Düşük Havuz Boyutu

  • Biriktirme

Boole değeri gerektiren anahtar sözcük veya bağlantı havuzu değerlerini ayarlarken, 'true' yerine 'yes' ve 'false' yerine 'hayır' kullanabilirsiniz. Tamsayı değerleri dize olarak temsil edilir.

Not

SQL Server için .NET Framework Veri Sağlayıcısı, SQL Server ile iletişim kurmak için kendi protokolünü kullanır. Bu nedenle, bir ODBC katmanı eklemediğinden SQL Server bağlanırken ODBC veri kaynağı adı (DSN) kullanımını desteklemez.

Not

Evrensel veri bağlantısı (UDL) dosyaları, SQL Server için .NET Framework Veri Sağlayıcısı için desteklenmez.

Dikkat

Bu sürümde uygulama, kullanıcı girişine dayalı bir bağlantı dizesi oluştururken (örneğin, bir iletişim kutusundan kullanıcı kimliği ve parola bilgilerini alırken ve bağlantı dizesi eklerken) dikkatli olmalıdır. Uygulama, kullanıcının bu değerlere ek bağlantı dizesi parametreleri ekleyemediğinden emin olmalıdır (örneğin, "validpassword; database=somedb". Kullanıcı girişine göre bağlantı dizeleri oluşturmanız gerekiyorsa, bağlantı dizesi doğrulayan ve bu sorunun ortadan kaldırılmasına yardımcı olan yeni SqlConnectionStringBuilderkullanın. Daha fazla bilgi için bkz. Bağlantı Dizesi Oluşturucuları .

Şunlara uygulanır