String koneksi dalam ADO.NET
Berlaku untuk: .NET Framework .NET .NET Standard
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 hingga titik koma berikutnya atau akhir string, nilai dalam contoh terakhir adalah a=b=c
, dan titik koma akhir bersifat opsional.
Semua string koneksi memiliki sintaks dasar yang sama seperti yang dijelaskan di atas. Kumpulan kata kunci yang dikenali tergantung pada penyedia. Penyedia data Microsoft SqlClient untuk SQL Server 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 run time dari input pengguna yang tidak valid rentan terhadap serangan injeksi string dan membahayakan keamanan di sumber data. Untuk mengatasi masalah ini, SqlConnectionStringBuilder kelas telah dibuat. Kelas penyusun string koneksi ini mengekspos parameter sebagai properti yang ditik dengan kuat, dan memungkinkan untuk memvalidasi string koneksi sebelum dikirim ke sumber data.
Di bagian ini
Penyusun String Koneksi
Menunjukkan cara menggunakan ConnectionStringBuilder
kelas untuk membangun string koneksi yang valid pada waktu proses.
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
.
Melindungi Informasi Koneksi
Menunjukkan teknik untuk melindungi informasi yang digunakan untuk menyambungkan ke sumber data.