informasi kontak saya
Surat[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
👨 作者简介:大家好,我是Taro,全栈领域创作者
✒️ Beranda pribadi:Don Juan Taro
🚀 支持我:点赞👍+📝 评论 + ⭐️收藏
Baru-baru ini, saya perlu terhubung ke sistem HIS rumah sakit dan database pihak lain. Ternyata rumah sakit tersebut menggunakan Oracle.AMERIKA_AMERIKA.US7ASCIIFormat pengkodean dikodekan, menyebabkan data berbahasa Mandarin yang dibaca ke dalam program menjadi kacau.
以下是本篇文章正文内容,下面案例可供参考
Karena pengkodean data unit rumah sakit tidak dapat diubah, kami menguji banyak metode dan akhirnya memilih metode pemrosesan yang lebih efisien (ODAC + OleDbConnection) menggunakan driver oracle independen untuk pemrosesan.
Oracle.AksesDataTerkelola.Klien Ini adalah paket yang paling umum digunakan dalam C# untuk terhubung ke database Oracle. Ini juga merupakan pustaka akses data .NET yang secara resmi disediakan oleh Oracle, tetapi tidak dapat menyelesaikan masalah karakter yang kacau.
harus diadopsiSistem.Data.OleDb , ia menggunakan driver oracle independen untuk memprosesnya, yang merupakan kunci untuk memecahkan karakter Cina yang kacau.
Sistem.Data.OleDb Ketergantungan:
Kode inti:
<add connectionString="Provider=OraOLEDB.Oracle;Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=ORCL)));User ID=db;Password=db;" name="HIS" />
Panggilan program:
Unduh ODAC: https://www.oracle.com/database/technologies/dotnet-utilsoft-downloads.html
Setelah ODAC terinstal, komputer harus di-restart.
Klik terus "Berikutnya" hingga instalasi selesai
Langkah ini adalah untuk menjaga rangkaian karakter database lokal dan klien tetap konsisten untuk mencegah data kacau saat dilihat secara lokal.
变量名:NLS_LANG | 变量值:AMERICAN_AMERICA.US7ASCII
Kodenya seperti berikut (contoh):
Di atas adalah apa yang akan saya bicarakan hari ini. Karena alasan historis, Oracle awal tidak memiliki kumpulan karakter berbahasa Mandarin (seperti Oracle6, Oracle7, Oracle7.1), tetapi beberapa pengguna telah menggunakan database sejak saat itu dan menyimpannya di US7ASCII. kumpulan karakter berbahasa Mandarin, artikel ini hanya memperkenalkan secara singkat penggunaan pustaka System.Data.OleDb, yang dengan sempurna menyelesaikan masalah kacau bahasa Mandarin pada database oracle kumpulan karakter US7ASCII.