Oracle字符集不一致

 Oracle 数据库字符集
在项目中用到数据的移植,源数据库(db1)字符集 :ZHS16GBK ;目标数据库(db2)字符集: AL32UTF8; 程序发布使用了 glassfishvs ;

在应用程序进行数据迁移过程中,从源数据库读取数据在向目标数据库插入时报错误:

ORA-12899:列值太大(实际值:4 最大值:1);  实际上 在 源数据库和目标数据库执行的是同一套建表语句; 
1、为了测试引起原因,我们又建了一个测试数据库(db3),数据库字符集:ZHS16GBK 。 在db3上进行测试,数据抽取插入没有问题; 初步排除了 程序发布的问题;

2、查找资料 看到

由于字符编码不一致,也会导致出现这样的问题;解决方案为 增大列的长度;
3、同事在查看数据库驱动驱动时发现,数据库驱动用的是老系统的驱动;更换了最新的数据库驱动后,执行往db2中插入数据,数据插入成功;
 
因为这个问题弄了一天;记下来 也给遇到这个问题的朋友提供多一个解决方案选择;

你可能感兴趣的:(oracle)