Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Her .NET Framework veri sağlayıcısından Connection devralınan bir DbConnection 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.
- SqlConnectionStringBuilder
- OleDbConnectionStringBuilder
- OdbcConnectionStringBuilder
- OracleConnectionStringBuilder
Bağlantı dizesi oluşturucuları çalışma zamanında sağlam olarak geçerli bağlantı dizeleri oluşturmanıza olanak tanır, bu nedenle kodunuzda bağlantı dizesi değerlerini el ile birleştirmeniz gerekmez. Daha fazla bilgi için bkz . Bağlantı Dizesi Oluşturucuları.
Windows kimlik doğrulması
Windows Kimlik Doğrulaması (bazen tümleşik güvenlik olarak da adlandırılır) bunu destekleyen veri kaynaklarına bağlanmak için kullanılabilir. 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.
| Sağlayıcı | 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.
Önemli
Microsoft, kullanılabilir en güvenli kimlik doğrulama akışını kullanmanızı önerir. Azure SQL'e bağlanıyorsanız önerilen kimlik doğrulama yöntemi Azure kaynakları için Yönetilen Kimlikler'dir.
SqlClient bağlantı dizesi s
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 veritabanına bağlanmak için Windows Kimlik Doğrulaması'nı AdventureWorks 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)"
Önemli
Microsoft, kullanılabilir en güvenli kimlik doğrulama akışını kullanmanızı önerir. Azure SQL'e bağlanıyorsanız önerilen kimlik doğrulama yöntemi Azure kaynakları için Yönetilen Kimlikler'dir.
SqlClient ile SQL Server kimlik doğrulaması
SQL Server'a (şirket içi) 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 kullanıcı adı hem de Integrated Security=true parola belirtirseniz, kullanıcı adı ve parola yoksayılır ve Windows kimlik doğrulaması kullanılır.
Önemli
Microsoft, kullanılabilir en güvenli kimlik doğrulama akışını kullanmanızı önerir. Azure SQL'e bağlanıyorsanız önerilen kimlik doğrulama yöntemi Azure kaynakları için Yönetilen Kimlikler'dir.
SQL Server'ın adlandırılmış örneğine bağlanma
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 DataSource örnek adına ayarlayabilirsinizSqlConnectionStringBuilder. Bir DataSourceSqlConnection nesnenin özelliği salt okunurdur.
Sistem sürümü değişikliklerini yazın
içindeki Type System VersionSqlConnection.ConnectionString anahtar sözcüğü, SQL Server türlerinin istemci tarafı gösterimini belirtir. Anahtar sözcük hakkında SqlConnection.ConnectionString daha fazla bilgi için bkzType System Version.
SQL Server Express kullanıcı örneklerine bağlanma 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 TrustServerCertificateolarak ayarlayarak Encrypt şifreleme isteğinde bulunabilir ve istemci için bir sunucu sertifikası sağlanmadığında ve true Zorla yapılandırılmadığında bile şifrelemenin gerçekleştirildiğini garanti edebilir. 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 | Evet | Evet | Şifreleme her zaman gerçekleşir, ancak otomatik olarak imzalanan bir sunucu sertifikası kullanabilir. |
| Evet | 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. |
| Evet | Evet | Hayır (varsayılan) | Yoksayıldı | Şifreleme her zaman gerçekleşir, ancak otomatik olarak imzalanan bir sunucu sertifikası kullanabilir. |
| Evet | Evet | 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. |
| Evet | Evet | Evet | Evet | Ş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ğlantı dizesi s
ConnectionString özelliğiOleDbConnection, Microsoft Access gibi bir OLE DB veri kaynağı için bağlantı dizesi almanıza veya ayarlamanıza olanak tanır. Çalışma zamanında OleDbConnectionStringBuilder sınıfını kullanarak bir OleDb bağlantı dizesi oluşturabilirsiniz.
OleDb bağlantı dizesi söz dizimi
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 bir OleDbConnection için bağlantı bilgilerini sağlamak mümkündür; ancak bunu yapmaktan kaçınmalısınız. UDL dosyaları şifrelenmez ve bağlantı dizesi bilgileri düz metinde kullanıma sunar. UDL dosyası uygulamanızın dış dosya tabanlı bir kaynağı olduğundan, .NET Framework kullanılarak güvenli hale getirilemez. UDL dosyaları SqlClient için desteklenmez.
Önemli
Microsoft, kullanılabilir en güvenli kimlik doğrulama akışını kullanmanızı önerir. Azure SQL'e bağlanıyorsanız önerilen kimlik doğrulama yöntemi Azure kaynakları için Yönetilen Kimlikler'dir.
Access/Jet'e bağlanmak 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ğlanma
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ğlantı 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;"
Önemli
Microsoft, kullanılabilir en güvenli kimlik doğrulama akışını kullanmanızı önerir. Azure SQL'e bağlanıyorsanız önerilen kimlik doğrulama yöntemi Azure kaynakları için Yönetilen Kimlikler'dir.
Odbc bağlantı dizesi
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
Oracle bağlantı dizesi s
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. .
Önemli
Microsoft, kullanılabilir en güvenli kimlik doğrulama akışını kullanmanızı önerir. Azure SQL'e bağlanıyorsanız önerilen kimlik doğrulama yöntemi Azure kaynakları için Yönetilen Kimlikler'dir.