Oracle PLS-00114: 标识符 ' ' 太长

前端之家收集整理的这篇文章主要介绍了Oracle PLS-00114: 标识符 ' ' 太长前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

在创建存储过程包的时候报标识符过长问题: oracle允许的变量最大长度为30个字符,汉字占两个字符,末尾的汉字占一个字符 但是创建名称为"DEF_AAE140_商业补充医疗保险"的constant时,报标识符过长 --查看oracle数据库字符集:   select userenv(‘language‘) from dual; --查看oracle数据库的编码 select * from nls_database_parameters where parameter =‘NLS_CHARACTERSET‘; 经排查与oracle字符集编码格式有关,在utf-8中,一个汉字按照3个字节来算,gbk中一个汉字按照2个字节来算。所以上面的字符串会报错,去掉一个汉字即可以正常执行 修改编码集 1.打开dos窗口,以sysdba的身份登录上去 --sqlplus / as sysdba; 2.关闭数据库  sql> shutdown immediate; 3.以mount打来数据库  sql> startup mount; 4.设置session  sql> alter system enable restricted session;  system altered.  sql> alter system set job_queue_processes=0;  system altered.  sql> alter system set aq_tm_processes=0; 5.启动数据库  sql> alter database open; 6.修改字符集 ALTER DATABASE character set INTERNAL_USE ZHS16GBK;  sql> alter database character set internal_use UTF8; 7.关闭,重新启动  sql> shutdown immediate;  sql> startup;

猜你在找的Oracle相关文章