前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >oracle 11g 查看服务端/客户端编码,及修改db编码

oracle 11g 查看服务端/客户端编码,及修改db编码

作者头像
菩提树下的杨过
发布2018-01-24 10:25:54
1.7K0
发布2018-01-24 10:25:54
举报

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;

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2012-11-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档