数据库错误--字符长度超出限制

Posted on 2019-08-01 09:59  一夜鱼龙舞R  阅读(908)  评论(0编辑  收藏  举报

情景:同样的字符类型,同样的值。有的库会提示字符长度超出限制

结果:字符集的差异导致的汉字占有的字符个数不一致

修改:修改数据库的字符集设置

          1)关闭数据库  --shutdown immediate

          2)  以restrict方式启动数据库  --startup restrict

          3)  修改字符集

               --alter session set sql_trace=true;

               --alter system enable restricted session;

               --alter system set job_queue_processes=0;

               --alter system set aq_tm_processes=0;

               --alter database open;(可能提示已开启)

               --alter database character set  ZHS16GBK;(填写想要修改的字符集)(此处可能会出错,因为你修改的字符集不是原来字符集的父类)

               --alter database character set INTERNAL_USE ZHS16GBK;(这条语句可跳过检查)

          4)重启数据库

                --shutdown immediate;

                --startup;