2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
👨 作者简介:大家好,我是Taro,全栈领域创作者
✒️ Henkilökohtainen kotisivu:Don Juan Taro
🚀 支持我:点赞👍+📝 评论 + ⭐️收藏
Äskettäin minun piti muodostaa yhteys sairaalan HIS-järjestelmään ja toisen osapuolen tietokantaan. Kävi ilmi, että sairaala käyttää Oraclea.AMERICAN_AMERICA.US7ASCIIKoodausmuoto on koodattu, jolloin ohjelmaan luetut kiinalaiset tiedot vääristyvät.
以下是本篇文章正文内容,下面案例可供参考
Koska sairaalayksikön datakoodausta ei voi muuttaa, testasimme monia menetelmiä ja valitsimme lopulta tehokkaamman käsittelytavan (ODAC + OleDbConnection) käyttämällä itsenäistä oraakkeliohjainta käsittelyyn.
Oracle.ManagedDataAccess.Client Se on C#:n yleisimmin käytetty paketti yhteyden muodostamiseen Oraclen tietokantaan. Se on myös Oraclen virallisesti tarjoama .NET-tietokirjasto, mutta se ei voi ratkaista sotkuisten merkkien ongelmaa.
on hyväksyttäväSystem.Data.OleDb , se käyttää itsenäistä oraakkeliohjainta käsittelyyn, mikä on avain kiinalaisten sotkuisten merkkien ratkaisemiseen.
System.Data.OleDb Riippuvuudet:
Ydinkoodi:
<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" />
Ohjelmakutsu:
ODAC: https://www.oracle.com/database/technologies/dotnet-utilsoft-downloads.html
Kun ODAC on asennettu, tietokone on käynnistettävä uudelleen.
Napsauta "Seuraava" kunnes asennus on valmis
Tämän vaiheen tarkoituksena on pitää paikallisen ja asiakastietokannan merkistöt johdonmukaisina, jotta estetään tietojen vääristymät, kun niitä tarkastellaan paikallisesti.
变量名:NLS_LANG | 变量值:AMERICAN_AMERICA.US7ASCII
Koodi on seuraava (esimerkki):
Yllä olevasta puhun tänään Historiallisista syistä johtuen Oraclella ei ollut kiinalaisia merkistöjä (kuten oracle6, oracle7, oracle7.1), mutta jotkut käyttäjät ovat käyttäneet tietokantaa sen jälkeen ja tallentaneet sen US7ASCII:een. merkistö kiina, tämä artikkeli esittelee vain lyhyesti System.Data.OleDb-kirjaston, joka ratkaisee täydellisesti kiinalaisen US7ASCII-merkkijoukon oraakkelin tietokannan.