Bagikan melalui


OleDbConnection.ConnectionString Properti

Definisi

Mendapatkan atau mengatur string yang digunakan untuk membuka database.

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

Nilai Properti

Penyedia OLE DB string koneksi yang menyertakan nama sumber data, dan parameter lain yang diperlukan untuk membuat koneksi awal. Nilai default-nya adalah untaian kosong.

Penerapan

Atribut

Pengecualian

Argumen string koneksi tidak valid telah disediakan atau argumen string koneksi yang diperlukan belum disediakan.

Contoh

Contoh berikut membuat OleDbConnection dan mengatur beberapa propertinya dalam string koneksi.

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

Keterangan

ConnectionString dirancang untuk mencocokkan format string koneksi OLE DB sedekat mungkin dengan pengecualian berikut:

  • Klausa "Provider = value " diperlukan. Namun, Anda tidak dapat menggunakan "Penyedia = MSDASQL" karena Penyedia Data .NET Framework untuk OLE DB tidak mendukung Penyedia OLE DB untuk ODBC (MSDASQL). Untuk mengakses sumber data ODBC, gunakan OdbcConnection objek yang ada di System.Data.Odbc namespace layanan.

  • Tidak seperti ODBC atau ADO, string koneksi yang dikembalikan sama dengan set ConnectionStringpengguna , dikurangi informasi keamanan jika Persist Security Info diatur ke false (default). Penyedia data .NET Framework untuk OLE DB tidak bertahan atau mengembalikan kata sandi dalam string koneksi kecuali Anda mengatur Persist Security Info kata kunci ke true (tidak disarankan). Untuk mempertahankan tingkat keamanan yang tinggi, sangat disarankan agar Anda menggunakan Integrated Security kata kunci dengan Persist Security Info diatur ke false.

Anda dapat menggunakan ConnectionString properti untuk menyambungkan ke berbagai sumber data. Contoh berikut mengilustrasikan beberapa kemungkinan string koneksi.

"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 Jika kata kunci tidak ditentukan dalam string koneksi, penyedia akan mencoba menyambungkan ke server lokal jika tersedia.

Untuk informasi selengkapnya tentang string koneksi, lihat Menggunakan Kata Kunci String Koneksi dengan SQL Server Native Client.

ConnectionString Properti hanya dapat diatur ketika koneksi ditutup. Banyak nilai string koneksi memiliki properti baca-saja yang sesuai. Ketika string koneksi diatur, properti ini diperbarui, kecuali ketika kesalahan terdeteksi. Dalam hal ini, tidak ada properti yang diperbarui. OleDbConnection properti hanya mengembalikan pengaturan yang terkandung dalam ConnectionString.

Mereset ConnectionString pada koneksi tertutup mengatur ulang semua nilai string koneksi dan properti terkait. Ini termasuk kata sandi. Misalnya, jika Anda mengatur string koneksi yang menyertakan "Katalog Awal= AdventureWorks", lalu mengatur ulang string koneksi ke "Provider= SQLOLEDB; Sumber Data= MySQLServer; IntegratedSecurity=SSPI", Database properti tidak lagi diatur ke AdventureWorks. (Nilai Katalog Awal string koneksi sesuai dengan Database properti .)

Validasi awal string koneksi dilakukan saat properti diatur. Jika nilai untuk Provider, Connect Timeout, Persist Security Info, atau OLE DB Services disertakan dalam string, nilai-nilai ini akan diperiksa. Ketika aplikasi memanggil Open metode , string koneksi sepenuhnya divalidasi. Jika string koneksi berisi properti yang tidak valid atau tidak didukung, pengecualian run-time, seperti ArgumentException, dihasilkan.

Perhatian

Dimungkinkan untuk menyediakan informasi koneksi untuk OleDbConnection dalam file Universal Data Link (UDL) ; namun Anda harus menghindari melakukannya. File UDL tidak dienkripsi dan mengekspos informasi string koneksi dalam teks yang jelas. Karena file UDL adalah sumber daya berbasis file eksternal ke aplikasi Anda, file tersebut tidak dapat diamankan menggunakan .NET Framework.

Format dasar string koneksi menyertakan serangkaian pasangan kata kunci/nilai yang dipisahkan oleh titik koma. Tanda sama dengan (=) menghubungkan setiap kata kunci dan nilainya. Untuk menyertakan nilai yang berisi tanda titik koma, karakter tanda kutip tunggal, atau karakter kutipan ganda, nilai harus diapit dalam tanda kutip ganda. Jika nilai berisi titik koma dan karakter tanda kutip ganda, nilai dapat diapit dalam tanda kutip tunggal. Tanda kutip tunggal juga berguna jika nilai dimulai dengan karakter kutipan ganda. Sebaliknya, tanda kutip ganda dapat digunakan jika nilai dimulai dengan tanda kutip tunggal. Jika nilai berisi karakter tanda kutip tunggal dan tanda kutip ganda, karakter tanda kutip yang digunakan untuk mengapit nilai harus digandakan setiap kali nilai terjadi dalam nilai.

Untuk menyertakan spasi sebelumnya atau di belakang dalam nilai string, nilai harus diapit dalam tanda kutip tunggal atau tanda kutip ganda. Setiap spasi di depan atau di belakang di sekitar nilai bilangan bulat, Boolean, atau enumerasi diabaikan, bahkan jika diapit dalam tanda kutip. Namun, spasi dalam kata kunci atau nilai harfiah string dipertahankan. Tanda kutip tunggal atau ganda dapat digunakan dalam string koneksi tanpa menggunakan pemisah (misalnya, Data Source= my'Server atau Data Source= my"Server) kecuali karakter tanda kutip adalah karakter pertama atau terakhir dalam nilai.

Untuk menyertakan tanda sama dengan (=) dalam kata kunci atau nilai, itu harus didahului oleh tanda sama dengan lainnya. Misalnya, dalam string koneksi hipotetis

"key==word=value"

kata kuncinya adalah "key=word" dan nilainya adalah "value".

Jika kata kunci tertentu dalam pasangan kata kunci=nilai terjadi beberapa kali dalam string koneksi, kemunculan terakhir yang tercantum digunakan dalam kumpulan nilai.

Kata kunci tidak peka huruf besar/kecil.

Perhatian

Anda harus berhati-hati saat membuat string koneksi berdasarkan input pengguna, misalnya, saat mengambil informasi ID pengguna dan kata sandi dari kotak dialog dan menambahkannya ke string koneksi. Aplikasi harus memastikan bahwa pengguna tidak dapat menyematkan parameter string koneksi tambahan dalam nilai-nilai ini, misalnya, memasukkan kata sandi sebagai "validpassword; database= somedb" dalam upaya untuk melampirkan ke database yang berbeda. Jika Anda menggunakan parameter string koneksi Properti yang Diperluas untuk koneksi OLE DB, hindari meneruskan ID pengguna dan kata sandi karena Anda harus menghindari penyimpanan ID pengguna dan kata sandi dalam teks yang jelas jika Anda bisa, dan karena pengaturan Persist Security Info= false default tidak memengaruhi Extended Properties parameter.

Berlaku untuk

Lihat juga