プライベートな連絡先の最初の情報
送料メール:
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
👨 作者简介:大家好,我是Taro,全栈领域创作者
✒️個人ホームページ:ドン・ファン・タロウ
🚀 支持我:点赞👍+📝 评论 + ⭐️收藏
最近、病院の HIS システムと相手先のデータベースに接続する必要があり、病院が Oracle を使用していることがわかりました。アメリカ_アメリカ.US7ASCIIエンコード形式がエンコードされているため、プログラムに読み込まれた中国語データが文字化けします。
以下是本篇文章正文内容,下面案例可供参考
病院ユニットのデータ エンコーディングは変更できないため、多くの方法をテストし、最終的には処理に独立した Oracle ドライバーを使用する、より効率的な処理方法 (ODAC + OleDbConnection) を選択しました。
Oracle.ManagedDataAccess.クライアント Oracleデータベースに接続するためにC#で最もよく使われるパッケージであり、Oracleが公式に提供している.NETデータアクセスライブラリでもありますが、文字化けの問題は解決できません。
採用しなければならないシステム.データ.OleDb , 独自のoracleドライバーを使って処理を行っており、これが中国語の文字化けを解決する鍵となります。
システム.データ.OleDb 依存関係:
コアコード:
<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" />
プログラム呼び出し:
ODAC をダウンロード:https://www.oracle.com/database/technologies/dotnet-utilsoft-downloads.html
ODAC をインストールした後、コンピューターを再起動する必要があります。
インストールが完了するまで「次へ」をクリックし続けます
この手順では、ローカルとクライアントのデータベースの文字セットの一貫性を保ち、ローカルで表示したときにデータが文字化けするのを防ぎます。
变量名:NLS_LANG | 变量值:AMERICAN_AMERICA.US7ASCII
コードは次のとおりです(例)。
以上が今日お話しする内容です。歴史的な理由により、初期の Oracle には中国語の文字セット (oracle6、oracle7、oracle7.1 など) がありませんでしたが、一部のユーザーはそれ以来データベースを使用し、US7ASCII に保存しています。この記事では、US7ASCII 文字セット Oracle データベースの中国語文字化け問題を完全に解決する System.Data.OleDb ライブラリの使用法について簡単に紹介します。