以下的文章主要是介绍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汉字长度的问题解决的介绍,望你能有所收获。
【编辑推荐】