Oracle汉字长度的问题解决方案

以下的文章主要是介绍Oracle汉字长度问题解决的具体操作,如果你对Oracle汉字长度的问题解决的具体操作相关的实际操作有兴趣的话,以下就是具体方案的描述,希望在你今后的学习中会有所帮助。

问题描述:

 
 
 
 
  1. varchar2(4000) abc;  
  2. intert into table_name(abc) values('这里有1500个汉字……');  

报错:插入字符过长!经过测试,发现一个汉字占3个字节,所以报错!!!

问题所在:

使用的字符集是UTF8,就有可能出现这个错误!

使用命令查看:

 
 
 
 
  1. SQL> select * from v$nls_parameters where parameter='NLS_CHARACTERSET';  
  2. PARAMETER  
  3. --------------------------------------------------------------------------------  
  4. VALUE  
  5. --------------------------------------------------------------------------------  
  6. NLS_CHARACTERSET  
  7. AL32UTF8  

解决方法:

建议使用ZHS16GBK字符集!

操作:

 
 
 
 
  1. SQL> SHUTDOWN IMMEDIATE;  
  2. SQL> STARTUP MOUNT;  
  3. SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;  
  4. SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;  
  5. SQL> ALTER DATABASE OPEN;  
  6. SQL> ALTER DATABASE CHARACTER SET AL32UTF8/ZHS16GBK;  
  7. SQL> SHUTDOWN IMMEDIATE;  
  8. SQL> STARTUP;  

问题解决!
 

以上的相关内容就是对Oracle汉字长度的问题解决的介绍,望你能有所收获。

【编辑推荐】

  1. Oracle修改字段类型2种方案介绍
  2. Oracle数据文件的特性介绍
  3. Oracle临时表用法的经验心得
  4. Oracle表中数据导出成 Txt格式的方案
  5. Oracle数据库中的时间处理的实际操作步骤
THE END