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 .