meine Kontaktdaten
Postmesophia@protonmail.com
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
👨 作者简介:大家好,我是Taro,全栈领域创作者
✒️ Persönliche Homepage:Don Juan Taro
🚀 支持我:点赞👍+📝 评论 + ⭐️收藏
Kürzlich musste ich eine Verbindung zum KIS-System des Krankenhauses und zur Datenbank der anderen Partei herstellen. Es stellte sich heraus, dass das Krankenhaus Oracle verwendet.AMERICAN_AMERICA.US7ASCIIDas Codierungsformat ist codiert, wodurch die in das Programm eingelesenen chinesischen Daten verstümmelt werden.
以下是本篇文章正文内容,下面案例可供参考
Da die Datenkodierung der Krankenhauseinheit nicht geändert werden kann, haben wir viele Methoden getestet und schließlich eine effizientere Verarbeitungsmethode (ODAC + OleDbConnection) unter Verwendung eines unabhängigen Oracle-Treibers für die Verarbeitung ausgewählt.
Oracle.ManagedDataAccess.Client Es ist das am häufigsten verwendete Paket in C#, um eine Verbindung zur Oracle-Datenbank herzustellen. Es ist auch die offiziell von Oracle bereitgestellte .NET-Datenzugriffsbibliothek, kann jedoch das Problem verstümmelter Zeichen nicht lösen.
übernommen werden müssenSystem.Data.OleDb Für die Verarbeitung wird ein unabhängiger Oracle-Treiber verwendet. Dies ist der Schlüssel zur Lösung verstümmelter chinesischer Zeichen.
System.Data.OleDb Abhängigkeiten:
Kerncode:
<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" />
Programmaufruf:
Nächster ODAC: https://www.oracle.com/database/technologies/dotnet-utilsoft-downloads.html
Nach der Installation von ODAC muss der Computer neu gestartet werden.
Klicken Sie so lange auf „Weiter“, bis die Installation abgeschlossen ist
Dieser Schritt dient dazu, die Zeichensätze der lokalen Datenbank und der Client-Datenbank konsistent zu halten, um verstümmelte Daten bei der lokalen Anzeige zu verhindern.
变量名:NLS_LANG | 变量值:AMERICAN_AMERICA.US7ASCII
Der Code lautet wie folgt (Beispiel):
Das Obige ist das, worüber ich heute sprechen werde. Aus historischen Gründen verfügte das frühe Oracle nicht über chinesische Zeichensätze (z. B. oracle6, oracle7, oracle7.1), aber einige Benutzer haben die Datenbank seitdem verwendet und sie im US7ASCII gespeichert Zeichensatz. In diesem Artikel wird nur kurz die Verwendung der System.Data.OleDb-Bibliothek vorgestellt, die das verstümmelte chinesische Problem der Oracle-Datenbank US7ASCII perfekt löst.