摘要:本文主要向大家介绍了Oracle数据库之oracle 11g 查看服务端/客户端编码及修改db编码,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助。
本文主要向大家介绍了Oracle数据库之oracle 11g 查看服务端/客户端编码及修改db编码,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助。
oracle 如果server与client端的编码不一致,asp.net读取db记录显示时,就可能出现乱码
查看oracle服务端编码:select * from sys.nls_database_parameters;查看client编码:select * from sys.nls_session_parameters; 如果二端编码不一致,可以修改客户端的编码:
regedit打开注册表:
HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/KEY_OraDb10g_home1
修改NLS_LANG的值,一般为 SIMPLIFIED CHINESE_CHINA.ZHS16GBK (简体中文编码,这也是oracle安装时默认的编码),如果服务端是utf8,该值需要修改成SIMPLIFIED CHINESE_CHINA.AL32UTF8
tips:如果不记得字符串,也可以通过在服务端运行 select userenv('language') from dual; 查看
此外,如果使用pl/sql devloper,该软件启动时,也会检测客户端与服务端之间的编码差异,如果发现不同,将弹出下面的对话框:
要想去掉这个提示:修改HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE\KEY_OraClient11g_client_x86下NLS_LANG的値即可
(注:经本人实际测试发现,修改了注册表后,虽然这个提示框不再弹出,但有可能导致oracle自带的sqlplus出现乱码,所以建议还是直接第一次弹出该窗口时,直接勾上 Don't show this message again为好,眼不见为净)
修改db编码的办法:(在oracle 11g上通过测试)
SQL> conn system as sysdba;
SQL> shutdown immediate;
SQL> startup mount;
SQL> alter system enable restricted session;
SQL> alter system set job_queue_processes=0;
SQL> alter database open;
SQL> alter database character set internal_use AL32UTF8;
SQL> shutdown immediate;
SQL> startup
最后再记录几个常用的oracle sql命令:给用户(hr)解锁:alter user hr account unlock;修改用户(hr)密码(新密码为hr):alter user hr identified by hr;授权(emp)表的select权限给用户(hr):grant select on emp to hr;取消授权:remove select on emp from hr;
本文由职坐标整理并发布,希望对同学们学习Oracle有所帮助,更多内容请关注职坐标数据库Oracle数据库频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号