亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

oracle imp字符集問題的解決

瀏覽:130日期:2023-11-15 09:54:37
問題:在imp一個dmp文件的時候,提示不支持要求的字符集轉換(從類型850到852). 原理: ;;;;;Oracle多國語言設置是為了支持世界范圍的語言與字符集,一般對語言提示,貨幣形式,排序方式和CHAR,VARCHAR2,CLOB,LONG字段的數據的顯示等有效。ORACLE的多國語言設置最主要的兩個特性就是國家語言設置與字符集設置,國家語言設置決定了界面或提示使用的語言種類,字符集決定了數據庫保存與字符集有關數據(如文本)時候的編碼規則。ORACLE字符集設定,分為數據庫字符集和客戶端字符集環境設置。在數據庫端,字符集在創建數據庫的時候設定,并保存在數據庫props$表中,對于8i以上產品,已經可以采用'Alter database character set 字符集'來修改數據庫的字符集,但也僅僅是從子集到超集,不要通過update props$來修改字符集,假如是不支持的轉換,可能會失去所有與字符集有關的數據,就是支持的轉換,也可能導致數據庫的不正常工作。字符集分為單字節字符集與多字節字符集,US7ASCII就是典型的單字節字符集,在這種字符集中length=lengthb,而ZHS16GBK就是常用的雙字節字符集,在這里lengthb=2*length。 在客戶端的字符集環境比較簡單,主要就是環境變量或注冊表項NLS_LANG,注重NLS_LANG的優先級別為:參數文件à注冊表à環境變量àalter session。NLS_LANG的組成為“國家語言設置.字符集”,如nls_lang=simplified chinese_china.zhs16gbk。客戶端的字符集最好與數據庫端一樣(國家語言設置可以不一樣,如zhs16gbk的字符集,客戶端可以是nls_lang =simplified chinese_china.zhs16gbk或Ameircan_America.zhs16gbk,都不影響數據庫字符的正常顯示),假如字符集不一樣,而且字符集的轉換也不兼容,那么客戶端的數據顯示與導出/導入的與字符集有關的數據將都是亂碼。;方案:使用2進制文件編輯工具,如uedit32。打開導出的dmp文件,獲取2、3字節的內容,如00 01,先把它轉換為10進制數,為1,使用函數NLS_CHARSET_NAME即可獲得該字符集: SQL> select nls_charset_name(1) from dual; NLS_CHARSET_NAME(1) ------------------- US7ASCII 可以知道該dmp文件的字符集為US7ASCII,假如需要把該dmp文件的字符集換成ZHS16GBK,則需要用NLS_CHARSET_ID獲取該字符集的編號: SQL> select nls_charset_id('zhs16gbk') from dual; NLS_CHARSET_ID('ZHS16GBK') -------------------------- 852 把852換成16進制數,為354,把2、3字節的00 01換成03 54,即完成了把該dmp文件字符集從us7ascii到zhs16gbk的轉化,這樣,再把該dmp文件導入到zhs16gbk字符集的數據庫就可以了。
標簽: Oracle 數據庫
主站蜘蛛池模板: 在线国产毛片 | 韩国一级黄色录像 | 国产成人www免费人成看片 | 精品国产免费久久久久久 | 久久全国免费久久青青小草 | 一级录像片 | 国产精品丝袜 | 亚洲国产系列 | 国产高清在线a视频大全凹凸 | 免费看又爽又黄禁片视频1000 | 一级毛片在线免费观看 | 手机看片日韩日韩 | 久久久久久久久久综合情日本 | 狠狠久久亚洲欧美专区 | 在线观看91| 国产精品视频在 | 色在线播放 | 日本一级毛片在线观看 | 91网视频在线观看 | 欧美一区二区三区不卡免费观看 | 国产成人精品精品欧美 | 在线视频观看你懂的我的 | 香蕉久久夜色精品国产尤物 | xvideos国产在线视频 | 亚洲艹 | 国产亚洲精品免费 | 91久久精品午夜一区二区 | 国内拍拍自拍视频在线观看 | 亚洲制服一区 | 中文字幕无线码一区二区三区 | 亚洲福利社 | 亚洲成a人片在线观看中文 亚洲成a人片在线观看中文动漫 | 亚洲天堂一级片 | 青娱乐久草 | 三级黄色毛片视频 | 青青青国产依人精品视频 | 91精品国产闺蜜国产在线 | 一级视频在线 | 青青影院一区二区免费视频 | 国产成人综合久久精品尤物 | 色综合色综合色综合 |