τα στοιχεία επικοινωνίας μου
Ταχυδρομείο[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
👨 作者简介:大家好,我是Taro,全栈领域创作者
✒️ Προσωπική αρχική σελίδα:Δον Χουάν Τάρο
🚀 支持我:点赞👍+📝 评论 + ⭐️收藏
Πρόσφατα, χρειάστηκε να συνδεθώ στο σύστημα HIS του νοσοκομείου και στη βάση δεδομένων του άλλου μέρους Αποδείχθηκε ότι το νοσοκομείο χρησιμοποιεί Oracle.AMERICAN_AMERICA.US7ASCIIΗ μορφή κωδικοποίησης είναι κωδικοποιημένη, με αποτέλεσμα τα κινεζικά δεδομένα που διαβάζονται στο πρόγραμμα να αλλοιώνονται.
以下是本篇文章正文内容,下面案例可供参考
Επειδή η κωδικοποίηση δεδομένων της νοσοκομειακής μονάδας δεν μπορεί να αλλάξει, δοκιμάσαμε πολλές μεθόδους και τελικά επιλέξαμε μια πιο αποτελεσματική μέθοδο επεξεργασίας (ODAC + OleDbConnection) χρησιμοποιώντας ένα ανεξάρτητο πρόγραμμα οδήγησης oracle για επεξεργασία.
Oracle.ManagedDataAccess.Client Είναι το πιο συχνά χρησιμοποιούμενο πακέτο στη C# για σύνδεση στη βάση δεδομένων Oracle. Είναι επίσης η βιβλιοθήκη πρόσβασης δεδομένων .NET που παρέχεται επίσημα από την Oracle, αλλά δεν μπορεί να λύσει το πρόβλημα των μπερδεμένων χαρακτήρων.
πρέπει να υιοθετηθείSystem.Data.OleDb , χρησιμοποιεί ένα ανεξάρτητο πρόγραμμα οδήγησης μαντείου για την επεξεργασία, το οποίο είναι το κλειδί για την επίλυση κινεζικών μπερδεμένων χαρακτήρων.
System.Data.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. Κινέζικο σύνολο χαρακτήρων, αυτό το άρθρο εισάγει μόνο εν συντομία τη χρήση της βιβλιοθήκης System.Data.OleDb, η οποία λύνει τέλεια το κινεζικό μπερδεμένο πρόβλημα της βάσης δεδομένων του συνόλου χαρακτήρων US7ASCII.