日期:2014-05-16  浏览次数:20809 次

求救,Oracle插入数据时字符长度无故变长
插入数据时产生的问题:
-------------------------------------------------
数据表F_A,其有字段F1,类型为NVarchar2,长度20,
为表F_A插入一条数据,其中为字段F1插入的是16个长度的数字字符,比如“1011100000000000”,但是Oracle返回错误信息:
ORA-12899: value too large for column "myUser"."F_A"."F1" (actual: 41, maximum: 20)



相关环境及配置:
=====================================
服务器:
-------------------
操作系统:Red Hat Enterprise Linux 5.4 英文版
oracle版本:11.2.0.1
oracle字符集:AMERICAN_AMERICA.AL32UTF8 


客户端:
-------------------
操作系统:windows XP sp3 繁体版
oracle客户端版本:11.2.0.1
oracle客户端字符集:TRADITIONAL_CHINESE_TWIWAN.ZHT16MSWIN950
MDAC版本:2.81.1132


=========================
完全相同的配置,在我们自己的机子上运行没任何问题,
而在客户那里却会报ORA-12899错误


求各位高人指点,急!

谢谢!





------解决方案--------------------
字符长度超了,看看会不会是字符集的问题。
------解决方案--------------------
字符集转换造成的,修改客户端的字符集
------解决方案--------------------
怀疑是Oracle环境设置字符集这方面的问题。
------解决方案--------------------
先用length查看一下它的实际字符长度,再看里面有没出现空格,或全角下的字符,也可能是字符集的问题
------解决方案--------------------
期待问题的真相,请楼主解决问题了,也发布一下