国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

也談“Oracle和D/2000字符集的選擇和改變”

2024-08-29 13:39:37
字體:
來源:轉載
供稿:網友

  本人閱讀了河北省統計局--賈書民網友的 "Oracle 和Developer/2000字符集的選擇和改變"后, 對其部分說法表示迷惑:
  
  ---- 迷惑1, 要正確處理漢字,一般有兩種方案可供選擇:
  
  ---- 方案一:使用US7ASCII字符集.
  
  ---- 方案二:使用ZHS16CGB231280字符集.
  
  ---- 照我的理解(本人用過兩年的Developer/2000), 并不一定只可使用這兩種字符集, 只要你寫forms時用的字符集和運行forms時用的字符集一樣即可(盡管我只用過WE8ISO8859P1和ZHS16CGB231280這兩種字符集).
  
  ---- 要害之處在于你啟動forms和運行forms一霎那, 注冊表HKEY_LOCAL_MACHINE->SOFTWARE->ORACLE下的NLS_LANG 所表示的字符集一樣, 即可.
  
  ---- 迷惑2, 一旦數據庫創建之后, 數據庫的字符集是不能改變的, 假如要改變數據庫的字符集, 只有重新創建數據庫("還有后面一段很長的參考方法").
  
  ---- 其實不然, 要改變數據庫的字符集, 太簡單了, 你只需以sys的身份登陸Oracle, 然后: SQL > update PRops$ set value$='你想要的字符集' where name='NLS_CHARACTERSET';
  
  ---- SQL > commit;
  
  ---- 之后, 再關閉,重啟動數據庫即可.
  
  ---- 迷惑3.Developer/2000 字符集的改變(還有后面的一段說法).
  
  ---- 要想客戶端的forms程序運行時, 看到正常的字符(客戶端用的是Developer/2000 服務器端用Oracle),需要選擇相同的字符集; 否則, 至多你只能看到一處正常的字符(當你運行forms時的字符集與你編寫forms程序的字符集一樣, 則可看到客戶端forms程序正常的字符 當與Oracle的字符集一樣時, 則可看到Oracle正常的字符).
  
  ---- 另外, 也不是("所以,假如要修改源程序,還要對其中的漢字重新改寫"). 那多麻煩, 本人97年在襄樊市電信局作97工程時, 也遇過此類問題, 當時電信局計算機中心的周主任找到了其中的解決方法. 簡述如下:
  
  ---- (假設你用了WE8ISO8859P1字符集編寫了forms, 數據庫用的是ZHS16CGB231280, 現在要把這些forms程序的字符集改成和數據庫的一樣). 操作如下:
  
  1.點擊菜單 File-- >administration-- >convert
  
  2.type選擇Form, Direction選擇Binary-To-Text, Browse為某一用了WE8ISO8859P1字符集編寫了
  forms的*.fmb.
  
  3.點擊 Convert 按鈕, 把二進制的*.fmb改寫為文本文件*.fmt.
  
  4.用 Edit 軟件把此 *.fmt 打開.
  
  5.把里面的 NAME_SET = 31, CS = 31 改成 NAME_SET = 850, CS = 850
  (原因 31 指的是 WE8ISO8859P1 字符集, 850 指的是 ZHS16CGB231280 字符集)
  
  6.步驟如 2 不過把Direction選擇Text-To-Binary Browse 為剛才的 *.fmt
  
  7.再重新生成此 *.fmb 為 *.fmx
  ---- 此時, 你再在注冊表中Oracle的字符集為ZHS16CGB231280下運行此程序, 就能看到正確的字符集.
  
  ---- 此步驟雖然稍有繁瑣, 但總比重新編寫程序快捷, 尤其是大批量的程序的時候. 另外, 你可以編寫一個小程序來代替步驟4,5. 需要注重的一點是一開始執行步驟2時前, 注冊表中Oracle的字符集應為WE8ISO8859P1 執行步驟6時前, 注冊表中Oracle的字符集應為ZHS16CGB231280.
  
  ---- 有愛好的朋友, 不妨照本人的說法試試.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 呼玛县| 梨树县| 虞城县| 丁青县| 通道| 隆林| 桓仁| 翁牛特旗| 如皋市| 呼玛县| 吴旗县| 鄂托克前旗| 大邑县| 双柏县| 长沙县| 大宁县| 璧山县| 广安市| 延庆县| 双峰县| 酒泉市| 阜新市| 嘉祥县| 曲阜市| 七台河市| 烟台市| 谷城县| 珠海市| 青州市| 呼和浩特市| 张家界市| 会理县| 黄石市| 荥阳市| 大庆市| 巴楚县| 新民市| 曲阜市| 理塘县| 安宁市| 华阴市|