oralce中列的长度设置的够用,但是出现ORA-12899的错误

问题:

    相同长度的字符,开发机能正常插入到数据库中,生产机却出现ORA-12899(字符内容)的错误,数据库字段的长度设置的也一致。都是75的长度。

原因:

    都是因为数据库字符集编码不同导致的,通过以下语句查看汉字在数据库的长度和数据库字符集编码的格式

    --查看汉字的长度
    select dump('查看字符长度') from dual;
    --查看数据库字符编码
    select * from nls_database_parameters where parameter='NLS_CHARACTERSET';

发现开发机一个汉字的长度是2,字符集编码格式是ZHS16GBK。生产机一个汉字的长度是3,字符集编码格式是AL32UTF8。

解决:

    要么更改数据库的字符集编码格式,要么根据需要将列的长度改大。


     

猜你喜欢

转载自blog.csdn.net/qq_34495557/article/details/79725350