標籤:.net 中文字元集 操作 沒有 1.0 enc 下拉 複製檔案 nim
背景:Oracle資料庫裝在本機上,使用PLSQL串連。
今天安裝完Oracle 11g資料庫後。用plsql串連資料庫死活都串連不上。而且plsql用戶端登入表單的Database下拉框還為空白。見:
Oracle服務和監聽已經開啟,而且檢查了相關的配置都沒有問題。
後來去網上搜尋了下,發現有人說plsql不能直接連接64位 Oracle 11g資料庫。
由於plsql是32位的。要想串連64位的資料庫還須要安裝一個32位的Oracle用戶端。。
記得曾經使用Oracle10g 資料庫的時候就沒有這個事啊,用plsql就能夠直接連接資料庫。
解決方式:
1、下載Oracle用戶端:instantclient-basic-win32-11.2.0.1.0.zip (點擊下載Oracle32位用戶端),將其解壓至Oracle安裝資料夾的Product下:
D:\app\NiuNiu\product\instantclient_11_2。
2、複製檔案:將資料庫安裝資料夾D:\app\NiuNiu\product\11.2.0\dbhome_1\NETWORK\ADMIN 下的tnsnames.ora檔案複製到用戶端檔案夾裡。
3、配置PLSQL Developer:
在Tools-》perference-》Connection裡面設定Oracle_Home和OCI Library。比如本機設定為:
Oracle Home :D:\app\NiuNiu\product\instantclient_11_2
OCI Library :D:\app\NiuNiu\product\instantclient_11_2\oci.dll
4、環境變數設定:
改動變數:在Path裡加入:D:\app\NiuNiu\product\instantclient_11_2 ;
建立變數:名為”TNS_ADMIN”, 值為”D:\app\NiuNiu\product\instantclient_11_2;”
建立變數:名為”NLS_LANG”, 值為”SIMPLIFIED CHINESE_CHINA.ZHS16GBK”,
按以上步驟配置完成後進行測試。
(最好又一次啟動一下電腦)
登陸成功!
答疑解惑
為什麼要配置”NLS_LANG”變數?
不加入這個變數,在使用資料庫加入資料的時候。表格中的中文會變成亂碼,這是由於咱們的資料庫是64位的。而操作軟體PLSQL_Developer是32位的。也就是說你用PLSQL_Developer編寫的中文是符合32位的字元集,而資料庫僅僅能正確儲存是64位的中文字元集。這導致了寫和讀不是一種字元集,終於導致中文變成問號或亂碼。
【Oracle錯誤集錦】:PLSQL無法直連64位Oracle11g資料庫