成都网站建设设计

将想法与焦点和您一起共享

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汉字长度的问题解决的介绍,望你能有所收获。


分享名称:Oracle汉字长度的问题解决方案
文章链接:https://chengdu.cdxwcx.cn/article/cdcicoc.html