oracle資料庫字符集和客戶端字符集(2%)是不同的,字符集轉化可能會造成不可預期的後果
阿新 • • 發佈:2018-11-29
轉載請在文章顯眼位置註明出處:https://www.cnblogs.com/sunshine5683/p/10036321.html
今天在plsql連線oracle時候報錯提示“資料庫字符集和客戶端字符集(2%)是不同的,字符集轉化可能會造成不可預期的後果”如下圖:
經過查閱資料發現數據庫編碼與客戶端編碼問題,然後通過以下命令順利解決:
這段引用於:https://blog.csdn.net/t_wangjiyang/article/details/79020173
問題描述:本地連線伺服器oracle資料庫時,提示(資料庫字符集和客戶端字符集(2%)是不同的,字符集轉化可能會造成不可預期的後果) 問題原因:問題出在oracle服務端的字符集不支援中文導致。 可以通過: sselect* from nls_database_parameters; 命令可以檢視服務端的使用的字符集。 查詢結果中,NLS_CHARACTERSET的值就是字符集 解決步驟如下 1、ssh登入,切換到oracle使用者 切換使用者命令:su -oracle 之後用sqlplus登入oracle,命令: sqlplus /nolog connect /as sysdba 2、更改字符集 首先 sqlplus登入後,關閉oracle資料庫 1.shutdown immediate ; 2.startup mount ;3.alter system enable restricted session ; 4.alter system set JOB_QUEUE_PROCESSES=0; 5.alter system set AQ_TM_PROCESSES=0; 6.alter database open ;7. alter database character set INTERNAL_USE ZHS16GBK; 8.shutdown immediate ; 9.startup ; 注:第七步報錯可修改成:alter database character set INTERNAL_USE ZHS16GBK;
此處確實如上面所說,報錯了,使用第七步的修改語句順利執行
此時連線資料庫,不再提示,說明編碼已經修改
到此,問題解決!