Aracılığıyla paylaş


ADO.NET'da Bağlantı Dizeleri

bağlantı dizesi, veri sağlayıcısından veri kaynağına parametre olarak geçirilen başlatma bilgilerini içerir. Veri sağlayıcısı DbConnection.ConnectionString özelliğinin değeri olarak bağlantı dizesini alır. Sağlayıcı, bağlantı dizesini ayrıştırarak söz diziminin doğru olduğunu ve anahtar kelimelerin desteklendiğini garanti eder. Ardından yöntemi ayrıştırılan DbConnection.Open() bağlantı parametrelerini veri kaynağına geçirir. Veri kaynağı daha fazla doğrulama gerçekleştirir ve bir bağlantı kurar.

Bağlantı dizisi söz dizimi

bağlantı dizesi, anahtar/değer parametre çiftlerinin noktalı virgülle ayrılmış listesidir:

keyword1=value; keyword2=value;

Anahtar sözcükler büyük/küçük harfe duyarlı değildir. Ancak değerler, veri kaynağına bağlı olarak büyük/küçük harfe duyarlı olabilir. Hem anahtar sözcükler hem de değerler boşluk karakterleri içerebilir. Anahtar sözcüklerde ve tırnak içinde olmayan değerlerde baştaki ve sondaki boşluk yoksayılır.

Bir değer noktalı virgül, Unicode denetim karakterleri veya başında veya sonunda boşluk içeriyorsa, tek veya çift tırnak içine alınmalıdır. Örneğin:

Keyword=" whitespace  ";
Keyword='special;character';

Kapsayıcı karakter, kapsadığı değerin içinde yer alamaz. Bu nedenle, tek tırnak işareti içeren bir değer yalnızca çift tırnak içine alınabilir ve tam tersi de olabilir:

Keyword='double"quotation;mark';
Keyword="single'quotation;mark";

Ayrıca, iki karakteri birlikte kullanarak da kapsayan karakterden kaçabilirsiniz:

Keyword="double""quotation";
Keyword='single''quotation';

Tırnak işaretleri ve eşittir işareti, kaçış gerektirmez, bu nedenle aşağıdaki bağlantı dizesi geçerlidir:

Keyword=no "escaping" 'required';
Keyword=a=b=c

Her değer bir sonraki noktalı virgüle veya dizenin sonuna kadar okunduğu için, ikinci örnekteki değer olur a=b=cve son noktalı virgül isteğe bağlıdır.

Tüm bağlantı dizesi daha önce açıklanan temel söz dizimini paylaşır. Ancak tanınan anahtar sözcükler kümesi sağlayıcıya bağlıdır ve ODBC gibi önceki API'lerden yıllar içinde gelişmiştir. .NET Framework veri sağlayıcısı, SQL Server için (SqlClient) eski API'lerden birçok anahtar sözcüğü destekler, ancak genellikle daha esnektir ve yaygın bağlantı dizesi anahtar sözcüklerinin çoğu için eş anlamlıları kabul eder.

Yazma hataları hatalara neden olabilir. Örneğin, Integrated Security=true geçerli, ancak IntegratedSecurity=true bir hataya neden olur.

Çalışma zamanında uygun olmayan kullanıcı girişlerinden el ile yapılan bağlantı dizeleri, dize ekleme saldırılarına karşı savunmasızdır ve veri kaynağındaki güvenliği tehlikeye atılır. Bu sorunları gidermek için ADO.NET 2.0, her .NET Framework veri sağlayıcısı için bağlantı dizesi oluşturucuları kullanıma sunmdur. Bu bağlantı dizesi oluşturucuları, parametreleri kesin olarak belirlenmiş özellikler olarak kullanıma sunar ve veri kaynağına gönderilmeden önce bağlantı dizesi doğrulamayı mümkün hale getirir.

Ö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.

Bu bölümde

Bağlantı Dizesi Oluşturucular
Çalışma zamanında geçerli bağlantı dizeleri oluşturmak için sınıfların nasıl kullanılacağını ConnectionStringBuilder gösterir.

Bağlantı Dizeleri ve Yapılandırma Dosyaları
Yapılandırma dosyalarında bağlantı dizelerinin nasıl depolanacağını ve alınacağını gösterir.

Bağlantı Dizesi Söz Dizimi
SqlClient, OracleClient, OleDb ve Odbc için sağlayıcıya özgü bağlantı dizesi yapılandırmasını açıklar.

Bağlantı Bilgilerini Koruma
Bir veri kaynağına bağlanmak için kullanılan bilgileri korumaya yönelik teknikleri gösterir.

Ayrıca bkz.