le mie informazioni di contatto
Posta[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
👨 作者简介:大家好,我是Taro,全栈领域创作者
✒️ Home page personale:Don Giovanni Taro
🚀 支持我:点赞👍+📝 评论 + ⭐️收藏
Recentemente ho avuto bisogno di connettermi al sistema HIS dell'ospedale e al database dell'altra parte. Si è scoperto che l'ospedale utilizza Oracle.AMERICANO_AMERICA.US7ASCIIIl formato di codifica è codificato, causando confusi i dati cinesi letti nel programma.
以下是本篇文章正文内容,下面案例可供参考
Poiché la codifica dei dati dell'unità ospedaliera non può essere modificata, abbiamo testato molti metodi e alla fine abbiamo scelto un metodo di elaborazione più efficiente (ODAC + OleDbConnection) utilizzando un driver Oracle indipendente per l'elaborazione.
Oracle.ManagedDataAccess.Client È il pacchetto più comunemente utilizzato in C# per connettersi al database Oracle. È anche la libreria di accesso ai dati .NET fornita ufficialmente da Oracle, ma non può risolvere il problema dei caratteri confusi.
deve essere adottatoSistema.Dati.OleDb , utilizza un driver Oracle indipendente per l'elaborazione, che è la chiave per risolvere i caratteri cinesi confusi.
Sistema.Dati.OleDb Dipendenze:
Codice principale:
<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" />
Chiamata al programma:
Scarica ODAC :https://www.oracle.com/database/technologies/dotnet-utilsoft-downloads.html
Dopo l'installazione di ODAC, è necessario riavviare il computer.
Continua a fare clic su "Avanti" fino al completamento dell'installazione
Questo passaggio serve a mantenere coerenti i set di caratteri del database locale e del client per evitare dati confusi quando visualizzati localmente.
变量名:NLS_LANG | 变量值:AMERICAN_AMERICA.US7ASCII
Il codice è il seguente (esempio):
Quanto sopra è ciò di cui parlerò oggi. Per ragioni storiche, i primi Oracle non avevano set di caratteri cinesi (come oracle6, oracle7, oracle7.1), ma da allora alcuni utenti hanno utilizzato il database e lo hanno archiviato nell'US7ASCII. set di caratteri cinese, questo articolo introduce solo brevemente l'uso della libreria System.Data.OleDb, che risolve perfettamente il problema confuso del cinese del database Oracle del set di caratteri US7ASCII.