String Koneksi dalam ADO.NET
String koneksi berisi informasi inisialisasi yang diteruskan sebagai parameter dari penyedia data ke sumber data. Penyedia data menerima string koneksi sebagai nilai properti DbConnection.ConnectionString. Penyedia mengurai string koneksi dan memastikan bahwa sintaksnya benar dan kata kunci didukung. Kemudian metode DbConnection.Open() meneruskan parameter koneksi yang diuraikan ke sumber data. Sumber data melakukan validasi lebih lanjut dan membuat koneksi.
Sintaks string koneksi
String koneksi adalah daftar pasangan parameter kunci/nilai yang dibatasi titik koma:
keyword1=value; keyword2=value;
Kata kunci tidak peka huruf besar/kecil. Namun, nilai mungkin peka huruf besar/kecil, tergantung pada sumber data. Kata kunci dan nilai mungkin berisi karakter spasi kosong. Spasi putih di depan dan di belakang diabaikan dalam kata kunci dan nilai yang tidak dikutip.
Jika nilai berisi titik koma, karakter kontrol Unicode, atau spasi putih di depan atau di belakang, nilai tersebut harus diapit dalam tanda kutip tunggal atau ganda. Contohnya:
Keyword=" whitespace ";
Keyword='special;character';
Karakter penutup mungkin tidak terjadi dalam nilai yang diapitnya. Oleh karena itu, nilai yang berisi tanda kutip tunggal hanya dapat diapit dalam tanda kutip ganda, dan sebaliknya:
Keyword='double"quotation;mark';
Keyword="single'quotation;mark";
Anda juga dapat menghindari karakter penutup dengan menggunakan dua karakter tersebut bersama-sama:
Keyword="double""quotation";
Keyword='single''quotation';
Tanda kutip itu sendiri, serta tanda sama dengan, tidak memerlukan pelepasan, sehingga string koneksi berikut valid:
Keyword=no "escaping" 'required';
Keyword=a=b=c
Karena setiap nilai dibaca sampai titik koma berikutnya atau akhir string, nilai dalam contoh terakhir adalah a=b=c
, dan titik koma akhir bersifat opsional.
Semua string koneksi berbagi sintaks dasar yang sama yang dijelaskan sebelumnya. Kumpulan kata kunci yang dikenali tergantung pada penyedia, namun, dan telah berevolusi selama bertahun-tahun dari API sebelumnya seperti ODBC. Penyedia data .NET Framework untuk SQL Server (SqlClient
) mendukung banyak kata kunci dari API yang lebih lama, tetapi umumnya lebih fleksibel dan menerima sinonim untuk banyak kata kunci string koneksi umum.
Kesalahan pengetikan dapat menyebabkan kesalahan. Misalnya, Integrated Security=true
valid, tetapi IntegratedSecurity=true
menyebabkan kesalahan.
String koneksi yang dibangun secara manual pada durasi dari input pengguna yang tidak valid rentan terhadap serangan injeksi string dan membahayakan keamanan di sumber data. Untuk mengatasi masalah ini, ADO.NET 2.0 memperkenalkan penyusun string koneksi untuk setiap penyedia data .NET Framework. Penyusun string koneksi ini mengekspos parameter sebagai properti yang ditik dengan kuat dan memungkinkan untuk memvalidasi string koneksi sebelum dikirim ke sumber data.
Penting
Microsoft menyarankan agar Anda menggunakan alur autentikasi paling aman yang tersedia. Jika Anda menyambungkan ke Azure SQL, Identitas Terkelola untuk sumber daya Azure adalah metode autentikasi yang direkomendasikan.
Di bagian ini
Penyusun String Koneksi
Menunjukkan cara menggunakan kelas ConnectionStringBuilder
untuk membuat string koneksi yang valid pada durasi.
String Koneksi dan File Konfigurasi
Menunjukkan cara menyimpan dan mengambil string koneksi dalam file konfigurasi.
Sintaks String Koneksi
Menjelaskan cara mengonfigurasi string koneksi khusus penyedia untuk SqlClient
, OracleClient
, OleDb
, dan Odbc
.
Melindungi Informasi Koneksi
Menunjukkan teknik untuk melindungi informasi yang digunakan untuk menyambungkan ke sumber data.