oracle报错:ORA-00972: identifier is too long

今天数据库巡检时,查询dba_data_files的字段出现报错:

ORA-00972: identifier is too long

网上查询获知为:字面的意思是标识符(你备注的名称)过长,有的说标识符不可超过30。

附:我的查询语句

select file_name 文件名,tablespace_name 表空间,bytes/1048576 使用,user_bytes/1048676 可用,maxbytes/1048576 最大,autoextensible 自增长,status from dba_data_files;

虽然没有标识符过长的情况,但我尝试删了好几个字段和标识名称,依然报错;

之后,把sql语句复制粘贴到文本文档,发现是中英文符号问题,把所有符号改为中文,问题解决。

 另:

看到别人的出错非中英文符号问题,这里一并补录,以防以后出现同样问题忘记如何解决:

原因:字符集不匹配所造成

1.解决过程:

在环境变量(计算机-->属性-->高级-->环境变量-->设置下字符集)中加入:

变量名:NLS_LANG

变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK

(也可使用:AMERICAN_AMERICA.UTF8)

重新启动,问题解决,可以执行。

2.或者,通过注册表来修改:

运行:regedit 

-- HKEY_LOCAL_MACHINE 

-- SOFTWARE 

-- ORACLE 

-- KEY_OraClient11g_home1 和 KEY_OraDb11g_home1

找到NLS_LANG修改为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK



  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值