Mi informacion de contacto
Correo[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
👨 作者简介:大家好,我是Taro,全栈领域创作者
✒️ Página de inicio personal:Don Juan Taro
🚀 支持我:点赞👍+📝 评论 + ⭐️收藏
Recientemente, necesitaba conectarme al sistema HIS del hospital y a la base de datos de la otra parte. Resultó que el hospital usa Oracle.AMÉRICA_AMERICANA.US7ASCIIEl formato de codificación está codificado, lo que hace que los datos chinos leídos en el programa sean confusos.
以下是本篇文章正文内容,下面案例可供参考
Debido a que la codificación de datos de la unidad hospitalaria no se puede cambiar, probamos muchos métodos y finalmente elegimos un método de procesamiento más eficiente (ODAC + OleDbConnection) utilizando un controlador Oracle independiente para el procesamiento.
Oracle.ManagedDataAccess.Cliente Es el paquete más utilizado en C# para conectarse a la base de datos de Oracle. También es la biblioteca de acceso a datos .NET proporcionada oficialmente por Oracle, pero no puede resolver el problema de los caracteres confusos.
debe ser adoptadoSistema.Datos.OleDb , utiliza un controlador Oracle independiente para procesar, que es la clave para resolver caracteres confusos chinos.
Sistema.Datos.OleDb Dependencias:
Código central:
<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" />
Llamada a programa:
Base de datos ODAC: https://www.oracle.com/database/technologies/dotnet-utilsoft-downloads.html
Después de instalar ODAC, se debe reiniciar la computadora.
Siga haciendo clic en "Siguiente" hasta que se complete la instalación.
Este paso es para mantener consistentes los juegos de caracteres de la base de datos local y del cliente para evitar datos confusos cuando se ven localmente.
变量名:NLS_LANG | 变量值:AMERICAN_AMERICA.US7ASCII
El código es el siguiente (ejemplo):
Lo anterior es de lo que hablaré hoy. Por razones históricas, los primeros Oracle no tenían conjuntos de caracteres chinos (como oracle6, oracle7, oracle7.1), pero algunos usuarios han utilizado la base de datos desde entonces y la han almacenado en US7ASCII. conjunto de caracteres.Chino, este artículo solo presenta brevemente el uso de la biblioteca System.Data.OleDb, que resuelve perfectamente el problema confuso del chino de la base de datos Oracle del conjunto de caracteres US7ASCII.