моя контактная информация
Почтамезофия@protonmail.com
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
👨 作者简介:大家好,我是Taro,全栈领域创作者
✒️ Персональная домашняя страница:Дон Хуан Таро
🚀 支持我:点赞👍+📝 评论 + ⭐️收藏
Недавно мне потребовалось подключиться к системе HIS больницы и базе данных другой стороны. Оказалось, что больница использует Oracle.АМЕРИКАНСКАЯ_АМЕРИКА.US7ASCIIФормат кодирования закодирован, в результате чего данные на китайском языке, считываемые в программу, искажаются.
以下是本篇文章正文内容,下面案例可供参考
Поскольку кодировку данных больничного отделения изменить нельзя, мы протестировали множество методов и, наконец, выбрали более эффективный метод обработки (ODAC + OleDbConnection), используя для обработки независимый драйвер Oracle.
Oracle.ManagedDataAccess.Client Это наиболее часто используемый пакет C# для подключения к базе данных Oracle. Это также библиотека доступа к данным .NET, официально предоставляемая Oracle, но она не может решить проблему искаженных символов.
должен быть принятСистемные данные.OleDb , для обработки используется независимый драйвер Oracle, что является ключом к устранению искаженных китайских символов.
Системные данные.OleDb Зависимости:
Основной код:
<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" />
Программный вызов:
Для ODAC: https://www.oracle.com/database/technologies/dotnet-utilsoft-downloads.html
После установки ODAC компьютер необходимо перезагрузить.
Продолжайте нажимать «Далее», пока установка не завершится.
На этом этапе необходимо обеспечить согласованность наборов символов локальной и клиентской базы данных, чтобы предотвратить искажение данных при локальном просмотре.
变量名:NLS_LANG | 变量值:AMERICAN_AMERICA.US7ASCII
Код следующий (пример):
Об этом я и расскажу сегодня. По историческим причинам ранние версии Oracle не имели китайских наборов символов (таких как oracle6, oracle7, oracle7.1), но с тех пор некоторые пользователи использовали базу данных и сохраняли ее в формате US7ASCII. набор символов китайский, в этой статье лишь кратко описывается использование библиотеки System.Data.OleDb, которая прекрасно решает проблему искажения китайского языка в базе данных Oracle с набором символов US7ASCII.