Bağlantı Dizesi Söz Dizimi

Her .NET Framework veri sağlayıcısından DbConnection devralınan bir Connection nesneye ve sağlayıcıya özgü ConnectionString bir özelliğe sahiptir. Her sağlayıcı için belirli bağlantı dizesi söz dizimi kendi ConnectionString özelliğinde belgelenmiştir. Aşağıdaki tabloda .NET Framework'e dahil edilen dört veri sağlayıcısı listelenmiştir.

.NET Framework veri sağlayıcısı Açıklama
System.Data.SqlClient Microsoft SQL Server için veri erişimi sağlar. bağlantı dizesi söz dizimi hakkında daha fazla bilgi için bkzConnectionString. .
System.Data.OleDb OLE DB kullanılarak kullanıma sunulan veri kaynakları için veri erişimi sağlar. bağlantı dizesi söz dizimi hakkında daha fazla bilgi için bkzConnectionString. .
System.Data.Odbc ODBC kullanılarak kullanıma sunulan veri kaynakları için veri erişimi sağlar. bağlantı dizesi söz dizimi hakkında daha fazla bilgi için bkzConnectionString. .
System.Data.OracleClient Oracle sürüm 8.1.7 veya üzeri için veri erişimi sağlar. bağlantı dizesi söz dizimi hakkında daha fazla bilgi için bkzConnectionString. .

Bağlantı Dizesi Oluşturucular

ADO.NET 2.0, .NET Framework veri sağlayıcıları için aşağıdaki bağlantı dizesi oluşturucularını kullanıma sunms.

bağlantı dizesi oluşturucuları çalışma zamanında el ile geçerli bağlantı dizesi oluşturmanıza olanak sağlar, bu nedenle kodunuzdaki bağlantı dizesi değerleri el ile birleştirmeniz gerekmez. Daha fazla bilgi için bkz. Bağlan ion String Builders.

Windows Kimlik Doğrulaması

Bunu destekleyen veri kaynaklarına bağlanmak için Windows Kimlik Doğrulaması (bazen tümleşik güvenlik olarak da adlandırılır) kullanmanızı öneririz. bağlantı dizesi kullanılan söz dizimi sağlayıcıya göre değişir. Aşağıdaki tabloda .NET Framework veri sağlayıcılarıyla kullanılan Windows Kimlik Doğrulaması söz dizimi gösterilmektedir.

Provider Sözdizimi
SqlClient Integrated Security=true;

-- or --

Integrated Security=SSPI;
OleDb Integrated Security=SSPI;
Odbc Trusted_Connection=yes;
OracleClient Integrated Security=yes;

Not

Integrated Security=true sağlayıcı ile OleDb kullanıldığında bir özel durum oluşturur.

SqlClient Bağlan ion Dizeleri

bir SqlConnection bağlantı dizesi söz dizimi özelliğinde SqlConnection.ConnectionString belgelenmiştir. özelliğini kullanarak ConnectionString SQL Server veritabanı için bir bağlantı dizesi alabilir veya ayarlayabilirsiniz. SQL Server'ın önceki bir sürümüne bağlanmanız gerekiyorsa OleDbSystem.Data.OleDb () için .NET Framework Veri Sağlayıcısı kullanmanız gerekir. Çoğu bağlantı dizesi anahtar sözcüğü de içindeki özelliklerle SqlConnectionStringBuildereşler.

Önemli

anahtar sözcüğü için Persist Security Info varsayılan ayardır false. Bu ayarın true veya yes olarak ayarlanması, kullanıcı kimliği ve parola dahil olmak üzere güvenlik duyarlı bilgilerin bağlantı açıldıktan sonra bağlantıdan alınmasına izin verir. Güvenilmeyen bir kaynağın hassas bağlantı dizesi bilgilerine erişmediğinden emin olmak için olarak ayarlayın Persist Security Infofalse.

SqlClient ile Windows kimlik doğrulaması

Aşağıdaki söz dizimi formlarının her biri, yerel sunucudaki AdventureWorks veritabanına bağlanmak için Windows Kimlik Doğrulaması'nı kullanır.

"Persist Security Info=False;Integrated Security=true;  
    Initial Catalog=AdventureWorks;Server=MSSQL1"  
"Persist Security Info=False;Integrated Security=SSPI;  
    database=AdventureWorks;server=(local)"  
"Persist Security Info=False;Trusted_Connection=True;  
    database=AdventureWorks;server=(local)"  

SqlClient ile SQL Server kimlik doğrulaması

SQL Server'a bağlanmak için Windows Kimlik Doğrulaması tercih edilir. Ancak, SQL Server Kimlik Doğrulaması gerekiyorsa, bir kullanıcı adı ve parola belirtmek için aşağıdaki söz dizimini kullanın. Bu örnekte, yıldız işareti geçerli bir kullanıcı adı ve parolayı temsil etmek için kullanılır.

"Persist Security Info=False;User ID=*****;Password=*****;Initial Catalog=AdventureWorks;Server=MySqlServer"  

Azure SQL Veritabanı veya Azure SQL Veri Ambarı'na bağlandığınızda ve biçiminde user@servernamebir oturum açma sağladığınızda, oturum açmadaki değerin servername için Server=sağlanan değerle eşleştiğinden emin olun.

Not

Windows kimlik doğrulaması, SQL Server oturum açma işlemlerinden önceliklidir. Hem Tümleşik Güvenlik=true hem de kullanıcı adı ve parola belirtirseniz, kullanıcı adı ve parola yoksayılır ve Windows kimlik doğrulaması kullanılır.

SQL Server'ın adlandırılmış örneğine Bağlan

SQL Server'ın adlandırılmış bir örneğine bağlanmak için sunucu adı\örnek adı söz dizimini kullanın.

"Data Source=MySqlServer\\MSSQL1;"  

ayrıca bir bağlantı dizesi oluştururken öğesinin özelliğini SqlConnectionStringBuilder örnek adına ayarlayabilirsinizDataSource. Bir DataSourceSqlConnection nesnenin özelliği salt okunurdur.

Tür Sistemi Sürüm Değişiklikleri

içindeki Type System VersionSqlConnection.ConnectionString anahtar sözcüğü, SQL Server türlerinin istemci tarafı gösterimini belirtir. Anahtar sözcük hakkında Type System Version daha fazla bilgi için bkzSqlConnection.ConnectionString.

SQL Server Express Kullanıcı Örneklerine Bağlan Ve Ekleme

Kullanıcı örnekleri SQL Server Express'teki bir özelliktir. En düşük ayrıcalıklı yerel Windows hesabı üzerinde çalışan bir kullanıcının yönetim ayrıcalıklarına gerek kalmadan SQL Server veritabanı eklemesine ve çalıştırmasına izin verir. Bir kullanıcı örneği, hizmet olarak değil kullanıcının Windows kimlik bilgileriyle yürütülür.

Kullanıcı örnekleriyle çalışma hakkında daha fazla bilgi için bkz . SQL Server Express Kullanıcı Örnekleri.

TrustServerCertificate kullanma

anahtar TrustServerCertificate sözcüğü yalnızca geçerli bir sertifikayla bir SQL Server örneğine bağlanırken geçerlidir. TrustServerCertificate olarak ayarlandığında trueaktarım katmanı, kanalı şifrelemek için SSL kullanır ve güveni doğrulamak için sertifika zincirini yürümeyi atlar.

"TrustServerCertificate=true;"

Not

olarak ayarlanırsa TrustServerCertificatetrue ve şifreleme açıksa, bağlantı dizesi olarak ayarlansa Encryptfalse bile sunucuda belirtilen şifreleme düzeyi kullanılır. Aksi takdirde bağlantı başarısız olur.

Şifrelemeyi Etkinleştirme

Sunucuda bir sertifika sağlanmadığında şifrelemeyi etkinleştirmek için Protokol Şifrelemesini Zorla ve Sunucu Sertifikasına Güven seçeneklerinin SQL Server Yapılandırma Yöneticisi olarak ayarlanması gerekir. Bu durumda, sunucuda doğrulanabilir bir sertifika sağlanmadıysa şifreleme doğrulama olmadan otomatik olarak imzalanan bir sunucu sertifikası kullanır.

Uygulama ayarları SQL Server'da yapılandırılan güvenlik düzeyini azaltamaz, ancak isteğe bağlı olarak güçlendirebilir. Bir uygulama, ve anahtar sözcüklerini trueolarak ayarlayarak TrustServerCertificate şifreleme isteğinde bulunabilir ve istemci için bir sunucu sertifikası sağlanmadığında ve Protokol Şifrelemesini Zorla yapılandırılmadığında bile şifrelemenin gerçekleştirildiğini garanti edebilir.Encrypt Ancak, istemci yapılandırmasında etkinleştirilmemişse TrustServerCertificate , sağlanan bir sunucu sertifikası hala gereklidir.

Aşağıdaki tabloda tüm durumlar açıklanmaktadır.

Protokol Şifrelemesi istemci ayarını zorla Sunucu Sertifikası istemci ayarına güven Veri bağlantı dizesi/özniteliği için Şifreleme/Kullanma Sunucu Sertifikası bağlantı dizesi/özniteliğine güven Sonuç
Hayır YOK Hayır (varsayılan) Yoksayıldı Şifreleme gerçekleşmez.
Hayır YOK Evet Hayır (varsayılan) Şifreleme yalnızca doğrulanabilir bir sunucu sertifikası varsa gerçekleşir, aksi takdirde bağlantı girişimi başarısız olur.
Hayır YOK Yes Yes Şifreleme her zaman gerçekleşir, ancak otomatik olarak imzalanan bir sunucu sertifikası kullanabilir.
Yes Hayır Yoksayıldı Yoksayıldı Şifreleme yalnızca doğrulanabilir bir sunucu sertifikası varsa gerçekleşir; aksi takdirde, bağlantı girişimi başarısız olur.
Yes Yes Hayır (varsayılan) Yoksayıldı Şifreleme her zaman gerçekleşir, ancak otomatik olarak imzalanan bir sunucu sertifikası kullanabilir.
Yes Evet Yes Hayır (varsayılan) Şifreleme yalnızca doğrulanabilir bir sunucu sertifikası varsa gerçekleşir; aksi takdirde, bağlantı girişimi başarısız olur.
Yes Evet Evet Yes Şifreleme her zaman gerçekleşir, ancak otomatik olarak imzalanan bir sunucu sertifikası kullanabilir.

Daha fazla bilgi için bkz . Doğrulama Olmadan Şifreleme Kullanma.

OleDb Bağlan ion Dizeleri

ConnectionString özelliğiOleDbConnection, Microsoft Access gibi bir OLE DB veri kaynağı için bağlantı dizesi almanıza veya ayarlamanıza olanak tanır. Ayrıca sınıfını kullanarak OleDbConnectionStringBuilder çalışma zamanında bir OleDb bağlantı dizesi oluşturabilirsiniz.

OleDb Bağlan ion Dizesi Sözdizimi

bağlantı dizesi için bir OleDbConnection sağlayıcı adı belirtmeniz gerekir. Aşağıdaki bağlantı dizesi Jet sağlayıcısını kullanarak bir Microsoft Access veritabanına bağlanır. User ID Veritabanı güvenli değilse ve Password anahtar sözcüklerinin isteğe bağlı olduğunu unutmayın (varsayılan).

Provider=Microsoft.Jet.OLEDB.4.0; Data Source=d:\Northwind.mdb;User ID=Admin;Password=;

Jet veritabanının güvenliği kullanıcı düzeyinde güvenlik kullanılarak sağlanıyorsa, çalışma grubu bilgi dosyasının (.mdw) konumunu sağlamanız gerekir. Çalışma grubu bilgi dosyası, bağlantı dizesi sunulan kimlik bilgilerini doğrulamak için kullanılır.

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\Northwind.mdb;Jet OLEDB:System Database=d:\NorthwindSystem.mdw;User ID=*****;Password=*****;  

Önemli

Evrensel Veri Bağlantısı (UDL) dosyasında oledb Bağlan ion için bağlantı bilgileri sağlamak mümkündür; ancak bunu yapmaktan kaçınmanız gerekir. UDL dosyaları şifrelenmez ve bağlantı dizesi bilgileri düz metinde kullanıma sunar. UDL dosyası uygulamanızın dış dosya tabanlı kaynağı olduğundan, .NET Framework kullanılarak güvenli hale getirilemez. UDL dosyaları SqlClient için desteklenmez.

Access/Jet'e Bağlan için DataDirectory kullanma

DataDirectory özel değildir SqlClient. Ve .NET veri sağlayıcılarıyla System.Data.OleDbSystem.Data.Odbc da kullanılabilir. Aşağıdaki örnek OleDbConnection dize, uygulamanın app_data klasöründe bulunan Northwind.mdb bağlanmak için gereken söz dizimini gösterir. Sistem veritabanı (System.mdw) de bu konumda depolanır.

"Provider=Microsoft.Jet.OLEDB.4.0;  
Data Source=|DataDirectory|\Northwind.mdb;  
Jet OLEDB:System Database=|DataDirectory|\System.mdw;"  

Önemli

Access/Jet veritabanı güvenli değilse bağlantı dizesi sistem veritabanının konumunu belirtmek gerekli değildir. Güvenlik varsayılan olarak kapalıdır ve tüm kullanıcılar boş bir parolayla yerleşik Yönetici kullanıcı olarak bağlanır. Kullanıcı düzeyi güvenlik doğru şekilde uygulandığında bile Jet veritabanı saldırılara karşı savunmasız kalır. Bu nedenle, dosya tabanlı güvenlik şemasının doğası gereği zayıflığı nedeniyle hassas bilgileri Access/Jet veritabanında depolamak önerilmez.

Excel'e Bağlan

Microsoft Jet sağlayıcısı bir Excel çalışma kitabına bağlanmak için kullanılır. Aşağıdaki bağlantı dizesi anahtar sözcüğü, Excel'e Extended Properties özgü özellikleri ayarlar. "HDR=Evet;", ilk satırın veri değil sütun adları içerdiğini belirtir ve "IMEX=1;" sürücüye her zaman "karma" veri sütunlarını metin olarak okumasını söyler.

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\MyExcel.xls;Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1""  

için gereken çift tırnak karakterinin Extended Properties de çift tırnak içine alınması gerektiğini unutmayın.

Veri Şekli Sağlayıcısı Bağlan ion Dizesi Söz Dizimi

Microsoft Veri Şekli sağlayıcısını ProviderData Provider kullanırken hem hem de anahtar sözcüklerini kullanın. Aşağıdaki örnek, SQL Server'ın yerel bir örneğine bağlanmak için Şekil sağlayıcısını kullanır.

"Provider=MSDataShape;Data Provider=SQLOLEDB;Data Source=(local);Initial Catalog=pubs;Integrated Security=SSPI;"

Odbc Bağlan ion Dizeleri

ConnectionString özelliği, OdbcConnection OLE DB veri kaynağı için bir bağlantı dizesi almanıza veya ayarlamanıza olanak tanır. Odbc bağlantı dizesi de tarafından OdbcConnectionStringBuilderdesteklenir.

Aşağıdaki bağlantı dizesi Microsoft Metin Sürücüsü kullanılır.

Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=d:\bin  

Visual FoxPro'ya Bağlan için DataDirectory kullanma

Aşağıdaki OdbcConnection bağlantı dizesi örneği, bir Microsoft Visual FoxPro dosyasına bağlanmak için komutunu DataDirectory gösterir.

"Driver={Microsoft Visual FoxPro Driver};  
SourceDB=|DataDirectory|\MyData.DBC;SourceType=DBC;"  

Oracle Bağlan ion Dizeleri

ConnectionString özelliği, OracleConnection OLE DB veri kaynağı için bir bağlantı dizesi almanıza veya ayarlamanıza olanak tanır. Oracle bağlantı dizesi s, tarafından OracleConnectionStringBuilder da desteklenir.

Data Source=Oracle9i;User ID=*****;Password=*****;  

ODBC bağlantı dizesi söz dizimi hakkında daha fazla bilgi için bkzConnectionString. .

Ayrıca bkz.