OleDbConnection.ConnectionString Özellik

Tanım

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

OLE DB sağlayıcısı, veri kaynağı adını ve ilk bağlantıyı kurmak için gereken diğer parametreleri içeren 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 bir OleDbConnection oluşturur ve bağlantı dizesi bazı özelliklerini 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:

  • "Sağlayıcı = 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 nesnesini 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 Infofalse güvenlik bilgileri çıkarılır. OLE DB için .NET Framework Veri Sağlayıcısı, anahtar sözcüğü true olarak ayarlamadığınız Persist Security Info sürece (önerilmez) parolayı bir bağlantı dizesi kalıcı yapmaz veya döndürmez. Yüksek düzeyde güvenlik sağlamak için anahtar sözcüğünü Integrated Security olarak ayarlanmış falseolarak kullanmanız önemle Persist Security Info ö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üğü bağlantı dizesi belirtilmezse, sağlayıcı varsa yerel sunucuya bağlanmayı dener.

Bağlantı dizeleri hakkında daha fazla bilgi için bkz. SQL Server Native Client 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ıda sıfırlandığında ConnectionString tüm bağlantı dizesi değerleri ve ilgili özellikler sıfırlanır. Bu parolayı içerir. Örneğin, "Initial Catalog= AdventureWorks" içeren bir bağlantı dizesi ayarlar ve ardından bağlantı dizesi "Provider= SQLOLEDB; Veri Kaynağı= MySQLServer; IntegratedSecurity=SSPI", Database özelliği artık AdventureWorks olarak ayarlanmadı. (bağlantı dizesi İlk Katalog değeri özelliğine Database karşılık gelir.)

Özellik ayarlandığında bağlantı dizesi ön doğrulaması gerçekleştirilir. , Connect Timeout, Persist Security Infoveya OLE DB Services değerleri Providerdizeye dahil edilirse, bu değerler denetlener. Bir uygulama yöntemini çağırdığındaOpen, 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 için OleDbConnection bağlantı bilgileri sağlamak mümkündür; ancak bunu yapmaktan kaçınmanız gerekir. UDL dosyaları şifrelenmez ve bağlantı dizesi bilgileri 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ı dizesi 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ğer çift tırnak içine alınmalıdır. Değer hem noktalı virgül hem de çift tırnak karakteri içeriyorsa, değer tek tırnak içine eklenebilir. Tek tırnak işareti, değer çift tırnak karakteriyle başlıyorsa da yararlıdır. Buna karşılık, değer tek tırnak işaretiyle başlıyorsa çift tırnak işareti kullanılabilir. Değer hem tek tırnak 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 gerçekleştiğinde 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 değeri 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, varsayımsal bağlantı dizesi

"key==word=value"

anahtar sözcüğü "key=word" ve değer ise "value" şeklindedir.

Bir anahtar sözcük=değer çiftindeki belirli bir anahtar sözcük bir bağlantı dizesi birden çok kez oluşursa, 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şi temelinde bir bağlantı dizesi oluştururken, örneğin bir iletişim kutusundan kullanıcı kimliği ve parola bilgilerini alırken ve bağlantı dizesi 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, "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ını düz metin olarak depolamaktan kaçınmanız gerektiğinden ve varsayılan ayarı Persist Security Info= false parametresini etkilemediğinden Extended Properties kullanıcı kimliklerini ve parolaları geçirmekten kaçının.

Şunlara uygulanır

Ayrıca bkz.