OleDbConnection.ConnectionString Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Veritabanını açmak için kullanılan dizeyi alır veya ayarlar.
public:
virtual property System::String ^ ConnectionString { System::String ^ get(); void set(System::String ^ value); };
public:
property System::String ^ ConnectionString { System::String ^ get(); void set(System::String ^ value); };
[System.ComponentModel.SettingsBindable(true)]
public override string ConnectionString { get; set; }
[System.Data.DataSysDescription("OleDbConnection_ConnectionString")]
public string ConnectionString { get; set; }
public override string ConnectionString { get; set; }
[<System.ComponentModel.SettingsBindable(true)>]
member this.ConnectionString : string with get, set
[<System.Data.DataSysDescription("OleDbConnection_ConnectionString")>]
member this.ConnectionString : string with get, set
member this.ConnectionString : string with get, set
Public Overrides Property ConnectionString As String
Public Property ConnectionString As String
Özellik Değeri
Veri kaynağı adını ve ilk bağlantıyı kurmak için gereken diğer parametreleri içeren OLE DB sağlayıcısı bağlantı dizesi. Varsayılan değer boş bir dizedir.
Uygulamalar
- Öznitelikler
Özel durumlar
Geçersiz bir bağlantı dizesi bağımsız değişkeni sağlandı veya gerekli bir bağlantı dizesi bağımsız değişkeni sağlanmadı.
Örnekler
Aşağıdaki örnek, bağlantı dizesinde bir OleDbConnection oluşturur ve özelliklerinden bazılarını ayarlar.
static void OpenConnection(string connectionString)
{
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
try
{
connection.Open();
Console.WriteLine("ServerVersion: {0} \nDataSource: {1}",
connection.ServerVersion, connection.DataSource);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
// The connection is automatically closed when the
// code exits the using block.
}
}
Public Sub OpenConnection(ByVal connectionString As String)
Using connection As New OleDbConnection(connectionString)
Try
connection.Open()
Console.WriteLine("Server Version: {0} DataSource: {1}", _
connection.ServerVersion, connection.DataSource)
Catch ex As Exception
Console.WriteLine(ex.Message)
End Try
' The connection is automatically closed when the
' code exits the Using block.
End Using
End Sub
Açıklamalar
ConnectionString, OLE DB bağlantı dizesi biçimiyle aşağıdaki özel durumlarla mümkün olduğunca yakından eşleşecek şekilde tasarlanmıştır:
"Provider =
value" yan tümcesi gereklidir. Ancak, OLE DB için .NET Framework Veri Sağlayıcısı ODBC (MSDASQL) için OLE DB Sağlayıcısını desteklemediğinden "Sağlayıcı = MSDASQL" kullanamazsınız. ODBC veri kaynaklarına erişmek için ad alanında System.Data.Odbc bulunan nesneyi kullanınOdbcConnection.ODBC veya ADO'nın aksine, döndürülen bağlantı dizesi kullanıcı kümesi ConnectionStringile aynıdır ve (varsayılan) olarak ayarlanırsa
Persist Security Infofalsegüvenlik bilgileri çıkarılır. OLE DB için .NET Framework Veri Sağlayıcısı, anahtar sözcüğütrueolarak ayarlamadığınız sürece (önerilmez) bağlantı dizesinde parolayıPersist Security Infokalıcı yapmaz veya döndürmez. Yüksek düzeyde güvenlik sağlamak için anahtar sözcüğünüIntegrated SecurityPersist Security Infoolarak ayarlanmışfalseolarak kullanmanız kesinlikle önerilir.
çeşitli veri kaynaklarına bağlanmak için özelliğini kullanabilirsiniz ConnectionString . Aşağıdaki örnekte birkaç olası bağlantı dizesi gösterilmektedir.
"Provider=MSDAORA; Data Source=ORACLE8i7;Persist Security Info=False;Integrated Security=Yes"
"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\bin\LocalAccess40.mdb"
"Provider=SQLOLEDB;Data Source=(local);Integrated Security=SSPI"
Data Source Anahtar sözcük bağlantı dizesinde belirtilmezse, sağlayıcı varsa yerel sunucuya bağlanmayı dener.
Bağlantı dizeleri hakkında daha fazla bilgi için bkz. SQL Server Yerel İstemcisi ile Bağlantı Dizesi Anahtar Sözcüklerini Kullanma.
ConnectionString Özelliği yalnızca bağlantı kapatıldığında ayarlanabilir. Bağlantı dizesi değerlerinin çoğunun karşılık gelen salt okunur özellikleri vardır. Bağlantı dizesi ayarlandığında, bir hata algılandığı durumlar dışında bu özellikler güncelleştirilir. Bu durumda, özelliklerin hiçbiri güncelleştirilmez. OleDbConnection özellikleri yalnızca içinde ConnectionStringbulunan ayarları döndürür.
kapalı bir bağlantının sıfırlanması ConnectionString , tüm bağlantı dizesi değerlerini ve ilgili özellikleri sıfırlar. Bu, parolayı içerir. Örneğin, "Initial Catalog= AdventureWorks" içeren bir bağlantı dizesi ayarlar ve ardından bağlantı dizesini "Provider= SQLOLEDB" olarak sıfırlarsanız; Veri Kaynağı= MySQLServer; IntegratedSecurity=SSPI", Database özelliği artık AdventureWorks olarak ayarlanmadı. (Bağlantı dizesinin İlk Katalog değeri özelliğine Database karşılık gelir.)
Özellik ayarlandığında bağlantı dizesinin ön doğrulaması gerçekleştirilir. , Connect Timeout, Persist Security Infoveya OLE DB Services değerleri dizeye Providerdahil edilirse, bu değerler denetlenirse. Bir uygulama yöntemini çağırdığında Open , bağlantı dizesi tam olarak doğrulanır. Bağlantı dizesi geçersiz veya desteklenmeyen özellikler içeriyorsa, gibi ArgumentExceptionbir çalışma zamanı özel durumu oluşturulur.
Dikkat
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 bilgilerini düz metin olarak kullanıma sunar. UDL dosyası uygulamanızın dış dosya tabanlı kaynağı olduğundan, .NET Framework kullanılarak güvenli hale getirilemez.
Bağlantı dizesinin temel biçimi, noktalı virgülle ayrılmış bir dizi anahtar sözcük/değer çifti içerir. eşittir işareti (=) her anahtar sözcüğü ve değerini bağlar. Noktalı virgül, tek tırnak karakteri veya çift tırnak karakteri içeren değerleri eklemek için, değerin çift tırnak içine alınması gerekir. Değer hem noktalı virgül hem de çift tırnak karakteri içeriyorsa, değer tek tırnak içine alınabilir. Değer çift tırnak karakteriyle başlıyorsa tek tırnak işareti de yararlıdır. Buna karşılık, değer tek bir tırnak işaretiyle başlıyorsa çift tırnak işareti kullanılabilir. Değer hem tek tırnaklı hem de çift tırnak karakterleri içeriyorsa, değerin içine almak için kullanılan tırnak işareti karakteri, değer içinde her oluştuğunda iki katına çıkarılmalıdır.
Dize değerine önceki veya sondaki boşlukları eklemek için, değerin tek tırnak işareti veya çift tırnak içine alınması gerekir. Tamsayı, Boole veya numaralandırılmış değerlerin etrafındaki baştaki veya sondaki boşluklar tırnak içine alınmış olsa bile yoksayılır. Ancak, bir dize değişmez anahtar sözcüğü veya değeri içindeki boşluklar korunur. Tek veya çift tırnak işaretleri, bir tırnak işareti karakteri değerdeki ilk veya son karakter olmadığı sürece sınırlayıcılar (örneğin veya Data Source= my'ServerData Source= my"Server) kullanılmadan bir bağlantı dizesi içinde kullanılabilir.
Bir anahtar sözcük veya değere eşittir işareti (=) eklemek için, önünde başka bir eşittir işareti bulunmalıdır. Örneğin, aşağıdaki varsayımsal bağlantı dizesinde anahtar sözcük "anahtar=sözcük" ve değer ise "value" şeklindedir.
"key==word=value"
Bir anahtar sözcük=değer çiftindeki belirli bir anahtar sözcük bağlantı dizesinde birden çok kez gerçekleşirse, listelenen son oluşum değer kümesinde kullanılır.
Anahtar sözcükler büyük/küçük harfe duyarlı değildir.
Dikkat
Kullanıcı girişine dayalı bir bağlantı dizesi oluştururken, örneğin bir iletişim kutusundan kullanıcı kimliği ve parola bilgilerini alıp bağlantı dizesine eklerken dikkatli olmanız gerekir. Uygulama, kullanıcının bu değerlere ek bağlantı dizesi parametreleri ekleyemediğinden emin olmalıdır; örneğin, parolayı "validpassword; database= somedb", farklı bir veritabanına ekleme girişiminde bulunur. OLE DB bağlantıları için Genişletilmiş Özellikler bağlantı dizesi parametresini kullanıyorsanız, kullanıcı kimliklerini ve parolaları geçirmekten kaçının, çünkü kullanıcı kimliklerini ve parolaları temiz metin olarak depolamaktan kaçınmalısınız. Bunun nedeni, varsayılan ayarının Persist Security Info= false parametreyi Extended Properties etkilememesidir.