minhas informações de contato
Correspondência[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
👨 作者简介:大家好,我是Taro,全栈领域创作者
✒️ Página inicial pessoal:Dom Juan Taro
🚀 支持我:点赞👍+📝 评论 + ⭐️收藏
Recentemente, precisei me conectar ao sistema HIS do hospital e ao banco de dados da outra parte. Descobri que o hospital usa Oracle.AMERICAN_AMERICA.US7ASCIIO formato de codificação é codificado, fazendo com que os dados chineses lidos no programa fiquem distorcidos.
以下是本篇文章正文内容,下面案例可供参考
Como a codificação dos dados da unidade hospitalar não pode ser alterada, testamos diversos métodos e finalmente escolhemos um método de processamento mais eficiente (ODAC + OleDbConnection) utilizando um driver oracle independente para processamento.
Oracle.AcessoDeDadosGerenciados.Cliente É o pacote mais comumente usado em C# para conectar-se ao banco de dados Oracle. É também a biblioteca de acesso a dados .NET fornecida oficialmente pela Oracle, mas não pode resolver o problema de caracteres ilegíveis.
deve ser adotadoSistema.Dados.OleDb , ele usa um driver oracle independente para processar, que é a chave para resolver caracteres chineses distorcidos.
Sistema.Dados.OleDb Dependências:
Código principal:
<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" />
Chamada do programa:
Fonte ODAC: https://www.oracle.com/database/technologies/dotnet-utilsoft-downloads.html
Após a instalação do ODAC, o computador deve ser reiniciado.
Continue clicando em "Avançar" até que a instalação seja concluída
Esta etapa é manter consistentes os conjuntos de caracteres do banco de dados local e do cliente para evitar dados distorcidos quando visualizados localmente.
变量名:NLS_LANG | 变量值:AMERICAN_AMERICA.US7ASCII
O código é o seguinte (exemplo):
Falarei acima sobre isso hoje. Devido a razões históricas, o Oracle inicial não tinha conjuntos de caracteres chineses (como oracle6, oracle7, oracle7.1), mas alguns usuários usaram o banco de dados desde então e o armazenaram no US7ASCII. conjunto de caracteres chinês, este artigo apresenta apenas brevemente o uso da biblioteca System.Data.OleDb, que resolve perfeitamente o problema distorcido em chinês do banco de dados oracle do conjunto de caracteres US7ASCII.