• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PL/SQL 别名时用中文字符报错ora-00911 或中文乱码解决办法

mysql 搞代码 4年前 (2022-01-09) 29次浏览 已收录 0个评论

今天用PL/SQL 9(最新版)的绿色汉化破解版,发现在执行查询: select user_no 户号 from lack_charge 这个语句时在 user_no处报

今天用PL/SQL 9(最新版)的绿色汉本文来源gaodai$ma#com搞$代*码网2化破解版,发现在执行查询: select user_no 户号 from lack_charge 这个语句时在 user_no处报错,错误为 ORA-00911: invalid character (无效的字符)。经过试验所有在别名中只要用中文字符就会报这个错。后来在网上查找原因结合实际情况发现:由于是绿色版,所以有些环境变量(或是注册表中的一些值)并没有正确设置造成的,解决办法是新建一个环境变量:

NLS_LANG,值是:AMERICAN.ZHS16GBK。

以下是更详细的说明:

这个可能是Oracle客户端和服务器端的编码方式不一样。
select * from v$nls_parameters t where t.PARAMETER =’NLS_LANGUAGE’ or t.PARAMETER =’NLS_CHARACTERSET’;

–数据库服务器字符集
select * from nls_database_parameters;

–客户端字符集 表示客户端的字符集的设置,可能是参数文件,环境变量或者是注册表
select * from nls_instance_parameters;

–会话字符集的设置,,这个没有特殊设置的话,和nls_instance_parameters一致
select * from nls_session_parameters;

–如果数据库服务器端的编码和客户端字符集编码不一样,则会导致乱码,因此需要更改客户端的编码方式。
–更改客户端的编码方式有两种方式,第一种是更改注册表,这个比较危险,就不在这里提及。第二种是设置环境变量。
–设置系统环境变量,新建一个环境变量:
NLS_LANG,值是:AMERICAN.ZHS16GBK。
–值的构成方式是数据库中查询的服务器端的“NLS_LANGUAGE的值”+“.”+“NLS_CHARACTERSET的值”


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PL/SQL 别名时用中文字符报错ora-00911 或中文乱码解决办法
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址