Bağlantı Dizesi Söz Dizimi

Her .NET Framework sağlayıcısının, Connection sağlayıcıya özgü bir özelliğin yanı DbConnection sıra'dan devralınan bir nesnesi ConnectionString vardır. Her sağlayıcı için belirli bağlantı dizesi söz dizimi özelliğinde ConnectionString belgelenmiş. Aşağıdaki tabloda, veri kaynağına dahil edilen dört veri sağlayıcısı .NET Framework.

.NET Framework veri sağlayıcısı Description
System.Data.SqlClient Veriler için veri Microsoft SQL Server. Bağlantı dizesi söz dizimi hakkında daha fazla bilgi için bkz. ConnectionString .
System.Data.OleDb Veri kaynakları kullanılarak ortaya çıkar ve veri kaynakları için veri OLE DB. Bağlantı dizesi söz dizimi hakkında daha fazla bilgi için bkz. ConnectionString .
System.Data.Odbc ODBC kullanılarak açığa çıkarilen veri kaynakları için veri erişimi sağlar. Bağlantı dizesi söz dizimi hakkında daha fazla bilgi için bkz. ConnectionString .
System.Data.OracleClient Oracle sürüm 8.1.7 veya sonraki sürümler için veri erişimi sağlar. Bağlantı dizesi söz dizimi hakkında daha fazla bilgi için bkz. ConnectionString .

Bağlantı Dizesi Oluşturucular

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

Bağlantı dizesi oluşturucuları çalışma zamanında vardizimsel olarak geçerli bağlantı dizeleri oluşturmanızı sağlar, bu nedenle bağlantı dizesi değerlerini kodunuzla el ile biriktirebilirsiniz. Daha fazla bilgi için bkz. Bağlantı Dizesi Oluşturucuları.

Windows Kimlik Doğrulaması

Bunu destekleyen veri Windows bağlanmak için Windows Kimlik Doğrulaması (bazen tümleşik güvenlik olarak da adlandırılır) kullanılması önerilir. Bağlantı dizesinde yer alan söz dizimi sağlayıcıya göre değişiklik gösterir. Aşağıdaki tabloda, Windows veri sağlayıcılarıyla kullanılan Kimlik Doğrulaması söz dizimi .NET Framework gösterir.

Sağlayıcı Syntax
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 birlikte kullanılırken bir özel durum OleDb oluşturur.

SqlClient Bağlantı Dizeleri

Bağlantı dizesinin SqlConnection söz dizimi özelliğinde SqlConnection.ConnectionString belgelenmiş. Bir veritabanı için ConnectionString bağlantı dizesi almak veya ayarlamak üzere özelliğini SQL Server kullanabilirsiniz. SQL Server'nin önceki bir sürümüne bağlanmanız gerekirse, OleDb () .NET Framework Veri Sağlayıcısı System.Data.OleDb kullanın. Çoğu bağlantı dizesi anahtar sözcükleri de içinde bulunan özelliklerle SqlConnectionStringBuilder eşler.

Önemli

anahtar sözcüğü için varsayılan Persist Security Info ayar şu false şekildedir: . Olarak ayarlandı veya bağlantı açıldıktan sonra bağlantıdan kullanıcı kimliği ve parola gibi güvenlik hassas bilgileri elde true yes edişe izin verir. Persist Security InfoGüvenilmeyen false bir kaynağın hassas bağlantı dizesi bilgilerine erişimi olduğundan emin olmak için olarak ayarlayın.

Windows Client ile kimlik doğrulaması

Aşağıdaki söz dizim biçimlerinin her biri, Windows server'da AdventureWorks veritabanına bağlanmak için Kimlik Doğrulaması 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)"  

SQL Server SqlClient ile kimlik doğrulaması

Windows Kimlik doğrulaması, sunucuya bağlanmak için SQL Server. Ancak, SQL Server kimlik doğrulaması gerekli ise, bir kullanıcı adı ve parola belirtmek için aşağıdaki sözdizimini kullanın. Bu örnekte, geçerli bir kullanıcı adını ve parolayı temsil etmek için yıldız işaretleri kullanılır.

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

Azure SQL Veritabanı veya Azure SQL Data Warehouse'a bağlanarak biçiminde bir oturum açma bilgileri sağlarken, oturum açma bilgisinde yer alan değerin için sağlanan değerle user@servername servername eş olduğundan emin Server= olun.

Not

Windows kimlik doğrulaması, oturum açma SQL Server ö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.

Bağlan örneğine SQL Server

Örneğin adlandırılmış örneğine bağlanmak SQL Server, sunucu adı\örnek adı söz dizimi kullanın.

"Data Source=MySqlServer\MSSQL1;"  

Ayrıca, bağlantı DataSource dizesi SqlConnectionStringBuilder hazırlarken özelliğini örnek adı olarak da ayarlayın. DataSourceBir nesnenin özelliği salt okunur SqlConnection özelliktedir.

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

içinde Type System Version anahtar SqlConnection.ConnectionString sözcüğü, veri türlerinin istemci tarafı SQL Server belirtir. anahtar SqlConnection.ConnectionString sözcüğü hakkında daha fazla bilgi için Type System Version bkz. .

SQL Server Express Kullanıcı Örneklerine Bağlanma ve Ekleme

Kullanıcı örnekleri, SQL Server Express. En az ayrıcalıklı bir yerel hesapta çalışan bir kullanıcının Windows ayrıcalıklara gerek kalmadan bir SQL Server veritabanı eklemesine ve çalıştırmasına olanak sağlar. Bir kullanıcı örneği, hizmet olarak değil Windows kimlik bilgileriyle yürütülür.

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

TrustServerCertificate kullanma

anahtar TrustServerCertificate sözcüğü yalnızca geçerli bir sertifika ile SQL Server örneğine bağlanırken geçerlidir. olarak ayarlandıktan sonra aktarım katmanı, kanalı şifrelemek ve güveni doğrulamak için sertifika TrustServerCertificate true zincirini atlayarak SSL kullanır.

"TrustServerCertificate=true;"

Not

TrustServerCertificateolarak ayarlanırsa ve şifreleme açıksa, bağlantı dizesinde olarak ayarlanmış olsa bile sunucuda true belirtilen şifreleme düzeyi Encrypt false kullanılır. Aksi takdirde bağlantı başarısız olur.

Şifrelemeyi Etkinleştirme

Sunucuda bir sertifika sağlanmazsa şifrelemeyi etkinleştirmek için, Protokol Şifrelemeyi Zorla ve Sunucu SertifikasıNasneler'de SQL Server Yapılandırma Yöneticisi. Bu durumda, sunucuda doğrulanabilir bir sertifika sağlanamadı ise, şifreleme doğrulama olmadan otomatik olarak imzalanan bir sunucu sertifikası kullanır.

Uygulama ayarları, uygulama ayarlarında yapılandırılan güvenlik düzeyini SQL Server ancak isteğe bağlı olarak güçlendirebilir. Bir uygulama, ve anahtar sözcüklerini olarak ayarerek şifreleme isteğide ekleyebilirsiniz. Bu, şifrelemenin bir sunucu sertifikası sağlanmazsa ve Protokol Şifrelemesini Zorla yapılandırılmamış olsa bile bu şifrelemenin TrustServerCertificate Encrypt geçerli olduğunu true garantiler. Ancak, TrustServerCertificate istemci yapılandırmasında etkinleştirilmediyse, sağlanan bir sunucu sertifikası hala gereklidir.

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

Protokol Şifrelemesini Zorla istemci ayarı Sunucu Sertifikasına Güven istemci ayarı Şifreleme/Veri bağlantı dizesi/özniteliği için Şifreleme kullanma Sunucu Sertifikası bağlantı dizesine/özniteliğine güven Sonuç
No Yok Hayır (varsayılan) Yoksayıldı Şifreleme oluşmaz.
No 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.
No YOK Evet 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 Yes 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 Yes Yes Yes Şifreleme her zaman gerçekleşir, ancak otomatik olarak imzalanan bir sunucu sertifikası kullanabilir.

Daha fazla bilgi için, bkz. Using Encryption Without Validation.

OleDb Bağlantı Dizeleri

özelliği, Microsoft Access gibi bir veri kaynağı için bağlantı dizesi ConnectionString OleDbConnection OLE DB veya ayarlamanızı sağlar. Ayrıca, sınıfını OleDb kullanarak çalışma zamanında bir bağlantı dizesi OleDbConnectionStringBuilder oluşturabilirsiniz.

OleDb Bağlantı Dizesi Söz Dizimi

Bağlantı dizesi için bir sağlayıcı adı OleDbConnection belirtmeniz gerekir. Aşağıdaki bağlantı dizesi, Jet sağlayıcısını kullanarak bir Microsoft Access veritabanına bağlanır. Veritabanı User ID Password güvenliksizse ve 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ğlandıysa, çalışma grubu bilgi dosyasının konumunu (.mdw) sağlayabilirsiniz. Çalışma grubu bilgi dosyası, bağlantı dizesinde 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

Bir Evrensel Veri Bağlantısı (UDL) dosyasında OleDbConnection için bağlantı bilgileri sağlamak mümkündür; ancak bunu yapmaktan kaçınılmalıdır. UDL dosyaları şifrelenmez ve bağlantı dizesi bilgilerini açık metin olarak gösterir. UDL dosyası, uygulamanıza ait dış dosya tabanlı bir kaynak olduğundan, bu dosyanın güvenliği uygulama .NET Framework. SqlClient için UDL dosyaları desteklenmiyor.

DataDirectory kullanarak Bağlan/Jet'e erişme

DataDirectory , için özel SqlClient değildir. Ayrıca ve .NET veri System.Data.OleDb System.Data.Odbc sağlayıcılarıyla da kullanılabilir. Aşağıdaki örnek dize, uygulamanın app_data klasöründe bulunan OleDbConnection Northwind.mdb'ye bağlanmak için gereken sözdizimini gösterir. Sistem veritabanı (System.mdw) da 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üvenliksizse, bağlantı dizesinde 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üzeyinde güvenlik doğru şekilde uygulansa bile Jet veritabanı saldırılara karşı savunmasız kalır. Bu nedenle, dosya tabanlı güvenlik şemasının doğası gereği hassas bilgilerin bir Access/Jet veritabanında depolanması önerilmez.

Excel'a bağlanma

Microsoft Jet sağlayıcısı, bir çalışma kitabına bağlanmak Excel kullanılır. Aşağıdaki bağlantı dizesinde anahtar sözcüğü, Extended Properties anahtar sözcüğüne özgü özellikleri Excel. "INTERMEX=Evet;" ilk satırın veri değil sütun adları içerdiğini gösterir ve "IMEX=1;" sürücüye her zaman "kesişen" veri sütunlarını metin olarak okumaları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 de Extended Properties çift tırnak içine alınmalıdır.

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

ProviderMicrosoft Data Shape Data Provider sağlayıcısını kullanırken hem hem de anahtar sözcüklerini kullanın. Aşağıdaki örnekte, yerel bir bulut örneğine bağlanmak için Şekil sağlayıcısı SQL Server.

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

Odbc Bağlantı Dizeleri

özelliğinin ConnectionString OdbcConnection özelliği, bir veri kaynağı için bağlantı dizesi a OLE DB sağlar. Odbc bağlantı dizeleri tarafından da de OdbcConnectionStringBuilder destekler.

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

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

Visual FoxPro'ya Bağlan DataDirectory kullanma

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

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

Oracle Bağlantı Dizeleri

özelliğinin ConnectionString OracleConnection özelliği, bir veri kaynağı için bağlantı dizesi a OLE DB sağlar. Oracle bağlantı dizeleri tarafından da de OracleConnectionStringBuilder destekler.

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

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

Ayrıca bkz.