話不多說,先說下這次遇到的問題。在64位作業系統上裝64位oracle時,本來預設的編碼是SIMPLIFIED CHINESE_CHINA.ZHS16GBK,但是實際安裝的時候卻沒有這個編碼,裝完後發現在sqlplus裡面資料亂碼,網上找了好多資料 終於找到一個靠得住的解決辦法,就是在環境變數中添加一項,NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK 然後亂碼就解決了。
plsql developer因為沒有64位版本的,所以如果什麼都不配置的話在64位作業系統是用不了的,解決辦法如下:
首先下載一個oracle用戶端,解壓得到的檔案,將得到的檔案放進oracle安裝目錄下的product下,然後再由oracle用戶端解壓下的檔案夾根目錄拷貝oracle的安裝目錄下的NETWORK檔案夾,接下來在plsql developer中的工具-喜好設定-oracle-串連 下的oci庫選擇oracle用戶端中的oci.dll檔案路徑即可。
但是此時的plsql developer串連資料庫會發現亂碼問題存在,主要還是編碼問題,具體哪個編碼不對不是很清楚,解決辦法如下:
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount ORACLE instance started.
Total System Global Area 236000356 bytes
Fixed Size 451684 bytes
Variable Size 201326592 bytes
Database Buffers 33554432 bytes
Redo Buffers 667648 bytes
Database mounted.
SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;
System altered.
SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
System altered.
SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;
System altered.
SQL> alter database open;
Database altered.
SQL> ALTER DATABASE CHARACTER SET ZHS16GBK;
ALTER DATABASE CHARACTER SET ZHS16GBK ERROR at line 1:
ORA-12712: new character set must be a superset of old character set
提示我們的字元集:新字元集必須為舊字元集的超集,這時我們可以跳過超集的檢查做更改:
SQL> ALTER DATABASE character set INTERNAL_USE ZHS16GBK;
Database altered.
alter system disable restricted session;//這句是設定所有使用者都可以登入資料庫的
本文出自 “暗黑無界” 部落格,謝絕轉載!