Problem Collation di SQL Server
Dalam praktek pembuatan aplikasi yang melibatkan fungsi database, memerlukan perhatian khusus, terutama dalam jenis Collation dalam database yang digunakan. Di dalam SQL Server terdapat banyak jenis Collation yang dapat kita gunakan sebagai jenis collationnya.
Apa sih Collation?, dari beberapa penelusuran di google saya menemukan istilah Collation adalah: Sekumpulan rule atau aturan yang digunakan oleh database untuk untuk membandingkan karakter yang ada pada sebuah character set.
Dalam pengembangan aplikasi sering sekali programmer mengabaikan peran collation ini, sehingga dalam proses deployment ke server production sering pula menemui permasalahan yang berhubungan dengan collation ini. salah satunya yang saya temukan antara lain permasalahan dengan error sebagai berikut : Cannot resolve the collation conflict between “Latin1_general_CI_AS” and “SQL_Latin1_General_CP1_CI_AS” in the equal to operation.
Error ini disebabkan karena collation antara server database development yang dikembangkan berbeda dengan collation di server database production.
Bagaimana solusi untuk mengatasi error ini ?
- Yang paling aman adalah menyamakan collation antara server database development dengan server database production
- kalau tidak mau susah-susah, bisa menggunakan cara query yang menyamakan collation di field yang mau dibandingkan, contoh :
SELECT namafield.* FROM namaTable, REQUEST WHERE namaTable.namafield collate SQL_Latin1_General_CP1_CI_AS = REQUEST.namafield
Demikian semoga bisa mencerahkan.
Recent Comments