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

问题描述:
- varchar2(4000) abc;
 - intert into table_name(abc) values('这里有1500个汉字……');
 
报错:插入字符过长!经过测试,发现一个汉字占3个字节,所以报错!!!
问题所在:
使用的字符集是UTF8,就有可能出现这个错误!
使用命令查看:
- SQL> select * from v$nls_parameters where parameter='NLS_CHARACTERSET';
 - PARAMETER
 - --------------------------------------------------------------------------------
 - VALUE
 - --------------------------------------------------------------------------------
 - NLS_CHARACTERSET
 - AL32UTF8
 
解决方法:
建议使用ZHS16GBK字符集!
操作:
- SQL> SHUTDOWN IMMEDIATE;
 - SQL> STARTUP MOUNT;
 - SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;
 - SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
 - SQL> ALTER DATABASE OPEN;
 - SQL> ALTER DATABASE CHARACTER SET AL32UTF8/ZHS16GBK;
 - SQL> SHUTDOWN IMMEDIATE;
 - SQL> STARTUP;
 
问题解决!
以上的相关内容就是对Oracle汉字长度的问题解决的介绍,望你能有所收获。
Copyright © 2009-2022 www.wtcwzsj.com 青羊区广皓图文设计工作室(个体工商户) 版权所有 蜀ICP备19037934号