999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

ORACLE數據庫字符集問題及解決方法

2017-04-25 09:41:50趙丹妮遼寧錦州渤海大學信息科學與技術學院
數碼世界 2017年4期
關鍵詞:數據庫

趙丹妮 遼寧錦州渤海大學信息科學與技術學院

ORACLE數據庫字符集問題及解決方法

趙丹妮 遼寧錦州渤海大學信息科學與技術學院

當將數據導入以及導出到數據庫里面的過程中,數據要與存儲的數據保持一致性,這是一個需要引起重視的問題,數據的一致性與設置字符集有著直接的聯系。本文主要是先圍繞著轉化字符集的機理展開,聯系具體的現實中所存在的具體問題,著重對ORACLE數據庫字符集存在的問題進行了分析,并且針對相關的問題提出了解決對策。

ORACLE 字符集 解決

作為現今數據庫平臺中最為流行的數據庫,在實際的工作運用中,Oracle經常由于字符集的因素從而造成數據庫里面的漢字信息在轉換的過程中產生亂碼,甚至于直接導致數據在遷移的過程中導致失敗等問題,這些問題對于用戶而言,是一個很大的困擾因素。所以針對這些數據字符集的問題,本文提出了相應的解決對策。

1 問題的提出

ORACLE數據庫在工廠的管理中起到了很大的作用,工廠數據的處理離不開數據庫。然而因為設置數據庫字符集的時候都不一樣,所以常常在具體的工作應用中常常會碰到當數據從數據庫服務器中導出的時候,顯示出的是亂碼,造成了很多的漢字很難辨認,這對于數據的讀寫都是一個很大的問題,另外因為工廠的需求,需要對數據進行遷移的時候,出現了遷移失敗等問題。這兩種數據庫問題是比較常見的。本文主要是討論了這兩種問題的解決對策。

2 Oracle數據庫的字符集問題

為了滿足多種語言文字的需求,Oracle數據庫因此實現了字符集的設置。字符集的存在之處除了服務器端之外,還可以在客戶端中存在,同時客戶端中的字符集一定實現注冊。如果想要將Oracl數據庫中的相關漢字信息成功顯示在客戶端,那么就一定要保持客戶端的字符集和服務器端字符集是完全一致的;此外如果字符集是不相同的時候,那么在數據遷移,完成字符集轉換的過程中,就很容易出現重要數據的缺失,最終造成了數據庫在導入,導出數據的時候出現錯誤,最終失敗。

數據遷移的過程中,會經常用到Oracle的Import/emport工具,該工具可以實現數據的轉化以及數據的遷移,該工具可以跨平臺,因此數據遷移的過程中,應用十分廣泛。數據導出/導入的時候常常會用到下面的字符集:①源數據庫字符集;②目標字符集;③導入/導出過程中用戶會話字符集。

3 ORACLE字符集的轉換原理

為了能夠適應多種文字語言的顯示問題,ORACLE數據庫中實現了字符集設定。客戶端以及服務器端都需要注冊字符集,當服務器端和客戶端的字符集是保持一致的時候,ORACLE數據庫才可以確保客戶端中的數據是完全正常顯示的。倘若字符集不是一樣的時候,那么在進行數據庫的操作過程中很可能出現數據顯示亂碼的現象。當字符集不一致,數據庫的遷移中字符集的轉換,數據容易出現丟失的情況,而且數據的導入導出也會出現問題。

4 查詢ORACLE數據庫字符集參數

4.1 查詢ORACLE服務端的字符集

查詢的對象ORACLE服務端中的字符集,可以選擇很多種方式,通常選擇直觀的方法有以下幾種:

顯示的結果為:NEWZLAND_NEWZLANDZHS15GBK

4.2 查詢dmp文件中字符集

當運用exp工具的時候就會導出dmp文件,dmp文件中會將字符集的相關信息表現出來,對dmp文件進行分析,第2個或者第3個字節處顯示的是字符集。當dmp文件是在幾十M以下的時候,能夠選擇16進制的UltraEdit查看這個dmp文件,對第2、第3字節中的信息進行分析,比如0336,該字節中的信息可以通過sql語句進行查詢,sql語句如下:

得出的顯示結果是ZHS18GBK。

然而大多數時候,dmp文件一般都是比較大的,有的甚至在2G以上,倘若依然是選擇上面的方法進行字符信息的查詢以及打開的話,顯然是不太適用的,有時會出現打不開文件的尷尬局面,有時即使打開了也是十分緩慢,這個時候查詢的方式可以是:cat exps. dmp |ods -x|head -1|awks ‘{prints $2 $3}’|cut -c 3-6,同時也可以根據sql語句查詢字符集。

5 ORACLE數據庫字符集問題的解決

對于ORACLE數據庫而言,許多的字符集彼此間是相互包容的聯系,例如US7ASCII和ZHSI6CBK,前者是為后者的子集,從前者到后者的這個字符集轉化的過程中,解釋數據的過程不會出現數據缺失的情況。同時ORACLE數據庫,轉換字符集操作有時是不可逆的,例如將子集向超集轉換的過程是可以實現的,但是反過來四不可以的。

5.1 客戶端字符集和服務器指定字符集不一致,但和加載數據字符集一致

一般情況下在創建數據的時候字符集通就確定了,當用戶的數據是存儲下來以后,數據就無法進行修改了,由于數據庫中的數據方式是字符集的形式,當變為其他的字符集后,之前的數據就無法正常顯示了。所以根據所查看到的服務器端中的字符集,設置客戶端。其中有2種配置的方法:

①當Oracle客戶端軟件安裝的時候指定。②根據對客戶端的操作系統中的注冊表進行修改,處于WINDOWS平臺下,能夠將注冊表打開,修改注冊表為:HKEY_LOCAL MACHINE ORACLEHOME中NLS_LANG值,從而實現統一服務器字符集于客戶端。

5.2 客戶端字符集和服務器指定字符集相一致,但是和加載數據字符集不同

當升級Oracle版本或者是進行系統安裝的時候,這種問題就會出現,另外如果當選擇的字符集和服務器端是不一致的,數據備份中仍然是選擇的根據之前的字符集卸出。在這種情況下,無論客戶端字符集與服務器端的是不是一致的,漢字都是不可能顯示出來的。通常要解決這種問題采取的方法總結如下。

5.2.1 將Oracle安裝在服務器端

當安裝的時候需要保證數據庫中的字符集和之前所卸出的字符集是一致的。這種情況下通常要用在空庫以及字符集是一致的情況下。

5.2.2 對服務器端進行強行地修改

當用imp命令對數據進行加載之前,需要先修改已有的Oracle數據庫中的字符集,確保加載的數據字符集和服務器中的的字符集是完全一致的。該字符集轉化方式比較簡單,然而實用性不是很大,轉化的場合是當新的字符集超過了原來的字符集的時候采用。解決方式如下:

選擇二進制的工具進行編輯,例如uedi 32。將dmp文件打開,從而得到第2、3字節的信息,比如0012,先將0012向10進制轉換,接著字符集獲得時選擇NLS_CHARSET__NAMES函數,sql語句如下:

接著將dmp文件里面的字符集進行修改為ZHSl5GBK,這個時候就用NLS—CHARSEl ID將這個字符集的編號進行獲取,sql語句如下:

將第2、3字節中的0002變為0364,從而就實現了該dmp文件的字符集轉化,這是個US7ASCII轉化為ZHSl6GBK的過程,接著將dmp文件導入到ZHSl6GBK字符集的數據庫就行了。

結語:深入了解Oracle轉化字符集相關原理,能夠給人們的實際工作減少很多不必要的麻煩,可以盡量防止數據的損失以及數據顯示中出現亂碼的局面,本文根據目前數據庫字符集所存在的問題從而提出了對應的解決對策。

[1]Stefano Andreozzi,Anirikh Chakrabarti,Keng Cher Soh,Anthony Burgard,Tae Hoon Yang,Stephen Van Dien,Ljubisa Miskovic,Vassily Hatzimanikatis. Identification of metabolic engineering targets for the enhancement of 1,4-butanediol production in recombinant E. coli using largescale kinetic models[J]. Metabolic Engineering,2016

[2]Mingyue Jiang,Tsong Yueh Chen,Fei-Ching Kuo,Dave Towey,Zuohua Ding. A Metamorphic Testing Approach for Supporting Program Repair Without the Need for a Test Oracle[J]. The Journal of Systems & Software,2015

[3]Katherine Brunson,Xin Zhao,Nu He,Xiangming Dai,Antonia Rodrigues,Dongya Yang. New insights into the origins of oracle bone divination: Ancient DNA from Late Neolithic Chinese bovines[J]. Journal of Archaeological Science,2016

[4]鄭曉江,孫雪華.ORACLE數據庫字符集問題及其解決方法[C]//上海市電機工程學會、上海市電工技術學會2001年學術年會.2015

猜你喜歡
數據庫
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
兩種新的非確定數據庫上的Top-K查詢
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
數據庫
財經(2015年3期)2015-06-09 17:41:31
數據庫
財經(2014年21期)2014-08-18 01:50:18
數據庫
財經(2014年6期)2014-03-12 08:28:19
數據庫
財經(2013年6期)2013-04-29 17:59:30
主站蜘蛛池模板: 久久77777| 欧美激情视频二区| 精品国产福利在线| 在线日本国产成人免费的| 免费人成在线观看视频色| 亚洲人成网址| 激情六月丁香婷婷| 久久夜色精品国产嚕嚕亚洲av| www.狠狠| 国产精品极品美女自在线| 国产成人精品三级| 中文字幕在线播放不卡| 毛片网站观看| 国产人在线成免费视频| www.youjizz.com久久| 玩两个丰满老熟女久久网| 国产AV毛片| 波多野结衣一区二区三区四区视频 | 欧美一级在线播放| 一本大道视频精品人妻 | 国产欧美专区在线观看| 爱做久久久久久| 亚洲国产成人综合精品2020| 91小视频在线观看| 精品黑人一区二区三区| 亚洲国产日韩视频观看| 亚洲日本中文综合在线| 欧美日韩精品一区二区在线线 | 性色一区| 精品三级网站| 成人在线亚洲| 一本大道无码日韩精品影视| 狠狠做深爱婷婷久久一区| 91久久大香线蕉| 最新国产网站| 亚洲精品免费网站| 香蕉久久国产超碰青草| 91啦中文字幕| 国产高潮视频在线观看| 毛片免费高清免费| 久久精品午夜视频| 99偷拍视频精品一区二区| 国产中文一区a级毛片视频| 久草视频精品| 国产极品美女在线播放| 欧美视频在线观看第一页| 55夜色66夜色国产精品视频| 四虎国产成人免费观看| 国产成人久久777777| 久久综合久久鬼| 国产高潮流白浆视频| 欧美精品成人| 国产成人综合久久精品下载| 国产在线小视频| 久久精品欧美一区二区| 国产精品亚洲五月天高清| 亚洲IV视频免费在线光看| 国产日本欧美亚洲精品视| 爱做久久久久久| 国产一区在线视频观看| 欧美午夜在线视频| 激情国产精品一区| 在线a网站| 国产91特黄特色A级毛片| a级毛片网| 婷婷激情亚洲| 中字无码精油按摩中出视频| 亚洲成aⅴ人在线观看| 99re在线观看视频| 久久天天躁夜夜躁狠狠| 亚洲国产欧美自拍| 91av国产在线| 久久久久无码精品国产免费| 欧美激情视频二区| 福利在线一区| 国产精品漂亮美女在线观看| 最新国产成人剧情在线播放| 久无码久无码av无码| 91久久偷偷做嫩草影院电| 直接黄91麻豆网站| 欧美成人精品一级在线观看| 国产成人91精品|