zoukankan      html  css  js  c++  java
  • 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;


  • 相关阅读:
    raspi扩展板
    树莓派学习笔记——I2C设备载入和速率设置
    python多线程(四)
    python多线程(三)
    python多线程(二)
    python3.x对python2.x变动
    python多线程(一)
    raspi集成库及安装
    eclipse软件安装及python工程建立
    原型模式
  • 原文地址:https://www.cnblogs.com/5588kjx/p/9830496.html
Copyright © 2011-2022 走看看