亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        醫(yī)院信息系統(tǒng)Oracle數(shù)據(jù)庫中導(dǎo)入數(shù)據(jù)中文亂碼的解決技術(shù)

        2017-03-03 05:31:15宮彥婷
        中國醫(yī)學(xué)裝備 2017年2期
        關(guān)鍵詞:字符集亂碼信息系統(tǒng)

        宮彥婷

        醫(yī)院信息系統(tǒng)Oracle數(shù)據(jù)庫中導(dǎo)入數(shù)據(jù)中文亂碼的解決技術(shù)

        宮彥婷①

        目的:根據(jù)數(shù)據(jù)庫的US7ASCII字符集使用受限的實(shí)際情況,將醫(yī)院信息系統(tǒng)(HIS)數(shù)據(jù)庫字符集轉(zhuǎn)換成為ZHS16GBK碼,保證導(dǎo)入數(shù)據(jù)庫文件后,漢字顯示正常。方法:在數(shù)據(jù)庫字符集和數(shù)據(jù)庫導(dǎo)入、導(dǎo)出程序功能的基礎(chǔ)上,使用該工具和文本編輯器完成數(shù)據(jù)庫字符集的轉(zhuǎn)換。結(jié)果:通過實(shí)際測試給出了一套字符集升級、避免中文顯示亂碼的解決方案。結(jié)論:HIS數(shù)據(jù)庫版本升級時(shí),應(yīng)做好字符集選擇測試,避免引起漢字顯示亂碼的問題。

        數(shù)據(jù)庫字符集;Oracle數(shù)據(jù)庫;醫(yī)院信息系統(tǒng)

        [First-author’s address]Information Department, The PLA General Hospital, Beijing 100700,China.

        醫(yī)院信息系統(tǒng)(hospital information system,HIS)已經(jīng)成為保障醫(yī)院正常運(yùn)轉(zhuǎn)的關(guān)鍵因素,其承載了醫(yī)院門診掛號收費(fèi)、醫(yī)生站、住院管理及檢查檢驗(yàn)等核心業(yè)務(wù)。Oracle數(shù)據(jù)庫是醫(yī)院HIS系統(tǒng)的基礎(chǔ),其安全、穩(wěn)定以及先進(jìn)性將直接影響到醫(yī)院的正常醫(yī)療活動,對保障醫(yī)療質(zhì)量,提升工作效率具有重要作用[1-3]。

        Oracle數(shù)據(jù)庫在數(shù)據(jù)庫升級或數(shù)據(jù)遷移時(shí),通常選用導(dǎo)入導(dǎo)出實(shí)用程序,既可解決不同種或不同版本操作系統(tǒng)、不同版本數(shù)據(jù)庫的數(shù)據(jù)移動,還可實(shí)現(xiàn)數(shù)據(jù)物理存儲結(jié)構(gòu)的重整[4]。

        在Oracle數(shù)據(jù)庫的實(shí)際應(yīng)用中,與字符集問題關(guān)系最大的則是導(dǎo)入導(dǎo)出,即exp/imp工具。在進(jìn)行exp/imp時(shí),如果客戶端和服務(wù)器端的nls_lang設(shè)置一樣,則無問題。但是,要在2個(gè)不同字符集的系統(tǒng)之間導(dǎo)數(shù)據(jù)則常會出現(xiàn)不成功的現(xiàn)象,如導(dǎo)出數(shù)據(jù)庫時(shí)正常時(shí)為中文顯示,當(dāng)導(dǎo)入到其他系統(tǒng)時(shí)則變成了亂碼;還有一類是從Oacle11g開始,Oracle公司不再支持us7ascii字符集,廣泛使用zhs16gbk字符集,以往被廣泛使用的us7ascii字符集在11 G中將不能被選擇,取而代之的是zhs16gbk字符集(Oracle優(yōu)選),這樣使用導(dǎo)入后漢字一定為亂碼。

        隨著數(shù)字化醫(yī)療的進(jìn)步,支持ascii字符集的數(shù)據(jù)庫在使用上出現(xiàn)越來越多的弊端[5]。醫(yī)院的信息系統(tǒng)數(shù)據(jù)庫使用的是Oracle 10g,采用us7ascii字符集,擬升級到oracle 11g,需要采用zhs16gbk字符集,通過本研究的方法,測試導(dǎo)入數(shù)據(jù)庫文件后漢字顯示正常。

        1 數(shù)據(jù)庫字符集與導(dǎo)入導(dǎo)出概念

        1.1 數(shù)據(jù)庫字符集

        當(dāng)數(shù)據(jù)庫一旦創(chuàng)建后,其數(shù)據(jù)庫的字符集不能夠改變。因此,在設(shè)計(jì)和安裝之初考慮使用的字符集種類十分重要。數(shù)據(jù)庫字符集應(yīng)該是操作系統(tǒng)本地字符集的一個(gè)超集。存取數(shù)據(jù)庫的客戶使用的字符集將決定選擇哪一個(gè)超集,即數(shù)據(jù)庫字符集應(yīng)該是所有客戶字符集的超集。Oracle數(shù)據(jù)庫中與字符集有關(guān)的NLS_ LANG參數(shù)如下。

        NLS_LANG格式:

        NLS_LANG=language_territory.charset

        由語言、地域和字符集三部分組成,每部分控制了NLS子集的特性。其中,language指定服務(wù)器消息的語言,territory指定服務(wù)器的日期和數(shù)字格式,charset指定字符集。

        例如:

        AMERICAN_AMERICA.US7ASCII

        AMERICAN_AMERICA.ZHS16GBK等。

        1.2 導(dǎo)入導(dǎo)出

        Oracle數(shù)據(jù)庫導(dǎo)入導(dǎo)出imp/exp相當(dāng)于oracle數(shù)據(jù)還原與備份。Exp命令可將數(shù)據(jù)從遠(yuǎn)程數(shù)據(jù)庫服務(wù)器導(dǎo)出至本地的dmp文件,imp命令可將dmp文件從本地導(dǎo)入至遠(yuǎn)處的數(shù)據(jù)庫服務(wù)器中。利用該功能可構(gòu)建2個(gè)相同的數(shù)據(jù)庫,一個(gè)用來測試,另一個(gè)用來正式使用。

        2 查詢Oracle字符集的方法

        在Oracle數(shù)據(jù)庫的應(yīng)用中,通常會遇到由于字符集不同而使數(shù)據(jù)導(dǎo)入失敗的情況,其涉及三方面的字符集:①oracel server端的字符集;②2.oracle client端的字符集;③3.DMP文件的字符集。在進(jìn)行數(shù)據(jù)導(dǎo)入時(shí),需要將3個(gè)字符集一致導(dǎo)入后方不會出現(xiàn)亂碼。

        2.1 查詢oracle server端的字符集

        有許多種方法可查出oracle server端的字符集,較為直觀的查詢方法是使用SQL*PLUS[6]其結(jié)果如下。

        SQL>select userenv('language')from dual;

        查詢結(jié)果是:userenv('language')

        American_america.us7ascii

        2.2 確定oracle client端的字符集

        在客戶端通過import導(dǎo)入Oracle的dmp文件,如客戶端的字符集與dmp文件對應(yīng)的數(shù)據(jù)庫字符集不一致時(shí),可能會導(dǎo)致導(dǎo)入的數(shù)據(jù)亂碼。此時(shí)可通過修改注冊表來設(shè)置客戶端的字符集,以避免亂碼的發(fā)生[7-8]。在windows平臺運(yùn)行下執(zhí)行regedit,查看注冊表里的HKEY_LOCAL_MACHINESOFTWARE ORACLEKEY_OraClient10g_home1NLS_ LANG,查詢并進(jìn)行修改,其結(jié)果為:American_ america.us7ascii。

        2.3 如何查詢DMP文件的字符集

        采用oracle的Exp工具導(dǎo)出的DMP文件包含字符集信息,如果DMP文件很大,有數(shù)十個(gè)G以上的為常見情況,使用文本編輯器打開文件很慢或者完全打不開,可以采用UltraEdit進(jìn)行編輯。DMP文件第一行的第2和第3個(gè)字節(jié)和第三行第14、15、16字節(jié)、第4行的第1個(gè)字節(jié)記錄了DMP文件的字符集(如圖1所示)。

        圖1 導(dǎo)出后未修改的dmp文件界面圖

        有些資料提出只要修改第1行的第2、3個(gè)字節(jié)即可以“騙過”O(jiān)racle的imp命令,經(jīng)過測試該方法的結(jié)果不正確。

        3 數(shù)據(jù)庫字符集與導(dǎo)入實(shí)施方案

        將2臺服務(wù)器命名為A機(jī)、B機(jī)。A機(jī)數(shù)據(jù)庫服務(wù)器為oracle10g,System管理員的賬號是system,全局?jǐn)?shù)據(jù)庫名為dbserver,字符集us7ascii。B機(jī)數(shù)據(jù)庫服務(wù)器為oracle11g,System管理員的賬號是system,全局?jǐn)?shù)據(jù)庫名為dbserver,字符集為zhs16gbk;其安裝路徑完全同A數(shù)據(jù)庫服務(wù)器。

        3.1 確定在用B數(shù)據(jù)庫服務(wù)器的字符集

        登陸plsql,輸入如下腳本:SQL>select userenv('language')from dual;結(jié)果:simplified chinese_china,zhs16gbk.

        3.2 導(dǎo)出文件

        在執(zhí)行環(huán)境中,可以在SQLPLUS.exe或者DOS命令行中執(zhí)行。Exp(卸出)將數(shù)據(jù)庫內(nèi)的各對象以二進(jìn)制方式下載成dmp文件,方便數(shù)據(jù)遷移[9]。使用管理員賬號登陸A數(shù)據(jù)庫服務(wù)器。輸入:Expsystem/manager@ dbserver file=d:z.dmp full=y log=e:123.log;導(dǎo)出文件時(shí)間非常長,約為10余小時(shí)。

        3.3 使用UltraEdit工具

        由于醫(yī)院的數(shù)據(jù)庫導(dǎo)出后文件巨大,在100 G左右,因此使用普通的文本編輯工具無法打開。使用UltraEdit工具來編輯導(dǎo)出的文件(大約在40~60 min),其結(jié)果顯示如圖2所示。

        圖2 修改字符集且導(dǎo)入新庫的dmp文件界面圖

        圖2 中劃圈部分原來的數(shù)值為0001(16進(jìn)制),將第一行第2、3列的0001改為0354(0001表示us7ascii字符集,0354表示zhs16gbk字符集),將第三行第14、15、16列、第4行第1列的2個(gè)0001分別改為0354。注意,在第4行的第4、5列還有一處0001,此處的值不能修改,否則oracle在導(dǎo)入時(shí)報(bào)錯(cuò)。修改完這3處后保存文件,可以確?!膀_過”O(jiān)racle的檢查。

        3.4 導(dǎo)入

        Imp(導(dǎo)入)將Exp下載的dmp文件上載到數(shù)據(jù)庫內(nèi)。輸入:Imp system/manager@ dbserver file=d:z.dmp full=y ignore=y log=e:123. log;尤其應(yīng)該注意新安裝的oracle11g的安裝路徑需要與原服務(wù)器的路徑絕對一致,否則導(dǎo)入不會成功。

        此處應(yīng)注意:導(dǎo)入成功后不可馬上重啟操作系統(tǒng),應(yīng)立即更換管理員的口令(sys、system、sysman),然后再重啟計(jì)算機(jī)。以免引起不必要的麻煩。如:①Alter user system identified by 77108;②Alter user sys identified by 77108;③Alter user sysman identified by 77108。

        3.5 重啟計(jì)算機(jī)

        進(jìn)入plsql,測試中文顯示是否正常,不存在亂碼,可以通過查詢某一張數(shù)據(jù)庫表來測試,如查詢工作人員字典Select * from staff_dict a。

        4 結(jié)語

        醫(yī)院數(shù)據(jù)庫從Oracle7開始一直使用us7ascii字符集,從oracle8i升級到oracle10g時(shí)未遇到任何問題。隨著醫(yī)院影像樓、新醫(yī)療大樓的陸續(xù)啟用,面臨數(shù)據(jù)庫從10 G升級到11 G。實(shí)驗(yàn)表明,一旦將數(shù)據(jù)庫從10 G升級到11 G必將引起漢字顯示亂碼。為此,通過大量的測試后消除了升級所引起的漢字顯示亂碼問題。因此,一旦升級到高版本的數(shù)據(jù)庫版本時(shí),若字符集選擇不正確或不再支持某個(gè)字符集,必將引起漢字顯示亂碼問題。

        [1]宮彥婷,常建國,王彪,等.Oracle安全網(wǎng)關(guān)技術(shù)在醫(yī)院內(nèi)網(wǎng)安全中的研究與應(yīng)用[J].中國醫(yī)學(xué)裝備,2012,9(4):11-14.

        [2]李超峰,馬嘉潛,肖華鋒,等.HIS系統(tǒng)數(shù)據(jù)庫跨平臺遷移實(shí)踐[J].中國數(shù)字醫(yī)學(xué),2016,11(8):86-88.

        [3]焦雄飛,孫國志,李子濤,等.醫(yī)院信息系統(tǒng)集成與交換平臺一體化建設(shè)方案的研究[J].中國醫(yī)學(xué)裝備,2016,13(8):82-85.

        [4]劉微,劉志敏.Oracle數(shù)據(jù)庫數(shù)據(jù)導(dǎo)入導(dǎo)出實(shí)用程序的評測[J].中國數(shù)字醫(yī)學(xué),2012,7(11):65-67.

        [5]莊紹燕,楊保衛(wèi).“軍衛(wèi)一號”數(shù)據(jù)庫字符集升級[J].中國醫(yī)療設(shè)備,2013,28(11):54-55.

        [6]龔維榮,周順平,萬波.淺談Oracle數(shù)據(jù)庫基于索引的SQL語句優(yōu)化方法[J].計(jì)算機(jī)工程與應(yīng)用,2003,39(5):196-199.

        [7]曹新志,沈君姝,郭輝,等.Oracle數(shù)據(jù)庫在PACS/RIS系統(tǒng)中的應(yīng)用[J].中國醫(yī)療設(shè)備,2013,28(7):35-37.

        [8]談永奇,候道勇.基于Oracle的數(shù)據(jù)復(fù)制技術(shù)在HIS中的應(yīng)用[J].醫(yī)療衛(wèi)生裝備,2010,31(10):66-67.

        [9]吳淑瑋,閆訓(xùn)超,曹齊.企業(yè)級信息系統(tǒng)數(shù)據(jù)遷移[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2013,22(7):53-57.

        The technology solution about Chinese garbled during importing data in the Oracle database of hospital information system/

        GONG Yan-ting//China Medical Equipment,2017,14(2):90-92.

        Objective:To convert the HIS database character set into ZHS16GBK code in order to ensure Chinese character can be normally displayed after data were imported.Methods:Used the tool and text editor to complete the conversion of database character set which based on the basis of database character set and the functions of database import and export procedures.Results:By actual test, this research provide a set of technology solutions can upgrade character set and avoid Chinese display garbled.Conclusion:In order to avoid Chinese characters display garbled, actual test of character set would been finished before the database version is upgraded.

        Database character set; Oracle database; Hospital information system

        1672-8270(2017)02-0090-03

        R197.324

        A

        10.3969/J.ISSN.1672-8270.2017.02.027

        2016-11-15

        ①陸軍總醫(yī)院信息科 北京 100700

        宮彥婷,女,(1973- ),碩士,副主任技師。陸軍總醫(yī)院信息科,從事醫(yī)院信息化系統(tǒng)的設(shè)計(jì)與應(yīng)用的研究工作。

        猜你喜歡
        字符集亂碼信息系統(tǒng)
        企業(yè)信息系統(tǒng)安全防護(hù)
        哈爾濱軸承(2022年1期)2022-05-23 13:13:18
        這些真的不是亂碼,是漢字
        MySQL數(shù)據(jù)庫字符集的問題研究
        ORACLE字符集問題的分析
        基于區(qū)塊鏈的通航維護(hù)信息系統(tǒng)研究
        電子制作(2018年11期)2018-08-04 03:25:54
        信息系統(tǒng)審計(jì)中計(jì)算機(jī)審計(jì)的應(yīng)用
        ORACLE數(shù)據(jù)庫字符集問題及解決方法
        基于SG-I6000的信息系統(tǒng)運(yùn)檢自動化診斷實(shí)踐
        .Net框架聯(lián)合Oracle字符集問題研究
        炫邁:用神奇亂碼勾引你視線
        男女发生关系视频网站| 蜜桃视频一区二区三区四| 欧美牲交a欧美牲交| 国产盗摄xxxx视频xxxx| 内谢少妇xxxxx8老少交| 国产极品美女高潮抽搐免费网站| 美腿丝袜美腿国产在线| 亚洲一区二区三区国产| 国产成人无码av一区二区在线观看| 女人被狂躁高潮啊的视频在线看| 欧美日韩不卡中文字幕在线| 伊人婷婷色香五月综合缴激情 | 永久中文字幕av在线免费| 成人免费无码大片a毛片抽搐色欲| 国产男女猛烈无遮挡免费网站| 久久久国产精品ⅤA麻豆| 日本人妻av在线观看| 色婷婷精品大在线视频| 久久精品亚州中文字幕| 亚洲av无码一区东京热久久| 国内精品伊人久久久久影院对白| 欧美一级欧美一级在线播放| av少妇偷窃癖在线观看| 亚洲在线视频一区二区| 少妇激情一区二区三区99| 黑色丝袜秘书夹住巨龙摩擦| 国产午夜在线观看视频播放| 天天摸天天做天天爽天天舒服| 国产午夜福利av在线麻豆| 亚洲欧美中文日韩在线v日本| 永久免费人禽av在线观看| 国产精品白浆一区二小说| 国产精品天天看大片特色视频| 三个黑人插一个女的视频| 国产偷国产偷亚洲高清视频| 国产精品成人3p一区二区三区| 1000部夫妻午夜免费| mm在线精品视频| 白色白色在线视频播放平台| 亚洲最大成人网站| 久久超碰97人人做人人爱|