當前位置:首頁 » 服務存儲 » oracle存儲過程執行亂碼
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

oracle存儲過程執行亂碼

發布時間: 2023-07-15 01:30:26

⑴ PLsql 表備注,存儲過程里的中文都顯示亂碼,請問怎麼處理

方法/步驟
登陸plsql,執行sql語句,輸出的中文標題顯示成問號????;條件包含中文,則無數據輸出
輸入sql語句select
*
from
V$NLS_PARAMETERS查看字元集,查看第一行value值是否為簡體中文
進入注冊表,依次單擊HKEY_LOCAL_MACHINE
--->SOFTWARE
--->
ORACLE--->home(小編安裝的是Oracle
11g,這里顯示成KEY_OraDb11g_home1),找到NLS_LANG,查看數值數據是否為:SIMPLIFIED
CHINESE_CHINA.ZHS16GBK
如果以上設置都沒有問題,那就要查看下環境變數的設置,查看是否有變數NLS_LANG,沒有則新建該變數
新建變數,設置變數名:NLS_LANG,變數值:SIMPLIFIED
CHINESE_CHINA.ZHS16GBK,確定即可
6
退出plsql,重新登陸plsql。輸入sql語句,執行,中文標題終於正常顯示,也有數據輸出了

⑵ pl/sql developer中文亂碼,為什麼呢怎麼解決Oracle問題

pl/sqldeveloper 中文欄位顯示亂碼:

原因:因為資料庫的編號格式和pl /sqldeveloper的編碼格式不統一造成的。

解決方法如下:

一、查看和修改oracle資料庫字元集:

select userenv('language') from al;

二、修改pl/sql developer 的編碼格式:

在windows中創建一個名為「NLS_LANG」的系統環境變數,設置其值為「SIMPLIFIED CHINESE_CHINA.ZHS16GBK」,然後重新啟動 pl/sql developer,這樣檢索出來的中文內容就不會是亂碼了。

如果想轉換為UTF8字元集,可以賦予「NLS_LANG」為 「AMERICAN_AMERICA.UTF8」,然後重新啟動 pl/sql developer。其它字元集設置同上。

(2)oracle存儲過程執行亂碼擴展閱讀:

ORACLE資料庫常見問題及診斷方法 :

1,ORA-12571、ORA-03113、ORA-03114、ORA-01041

特徵:

客戶端(代理或應用伺服器)有時報這類斷連錯誤。

原因:

如果偶爾出現一次,則可能為網路原因或用戶異常中止,如果經常出現則為客戶端與服務端的字元集不一致。    

措施:

如果偶爾出現,可在服務端的協議配置文件PROTOCOL.ORA中增加一行TCP.NODELAY=YES。

如果經常出現,則為客戶端與服務端字元集不一致或網路原因。客戶端的字元集在注冊表裡定義:HKEY__LOCAL__MACHINE/SOFTWARE/ORACLE/NLS__LANG。在客戶端注冊表中的TCP參數項中設置TCPMAXDATARETRANSMITIONS=20。

2,ORA-01000   

特徵:

達到會話允許的最大游標數。 

原因:

達到會話允許的最大游標數。   

措施:

在初始化文件INIT.ORA文件中增加OPEN_CURSORS的數量,一般要求大於200。


⑶ 在ORACLE查詢出來的結果凡是中文的都是亂碼 ,用pl/sql亦如此,該如何解決呢

數據是怎麼來的是導入還是客戶端錄入的
如果是導入的那就是你導入數據的字元集和導入的oracle的字元集不一致,那就修改資料庫的字元集重新導入數據
如果是客戶端錄入的那就是客戶端的字元集和oracle的不一致 有兩個辦法一是修改客戶端的代碼使客戶端的字元集和oracle一致,二是修改資料庫的字元集重新錄入數據