有两台电脑,一个是windows2008 32bit的,安装了oracle 11.2.0.3的32bit的
另一台电脑是windows2008R2 64bit的,安装了oracle client 11.2.0.3的32bit的
这两者工作的很好
现在,有一个第三台电脑windows2008R2 64bit的,安装了oracle client 11.2.0.1
程序运行却发生了如下的错误,我确定第二台电脑和第三胎电脑仅仅客户端版本不一样,其他都一样
ORA-12899: value too large for column "user1"."tableName"."fieldName" (actual: 2001, maximum: 2000)
什么原因?怎么修改?
谢谢
------解决方案--------------------
把客户端的字符集 改成和和服务器上一样,在注册表里改
------解决方案--------------------
[oracle@10gR2 ~ $]oerr ora 12899
12899, 00000, "value too large for column %s (actual: %s, maximum: %s)"
// *Cause: An attempt was made to insert or update a column with a value
// which is too wide for the width of the destination column.
// The name of the column is given, along with the actual width
// of the value, and the maximum allowed width of the column.
// Note that widths are reported in characters if character length
// semantics are in effect for the column, otherwise widths are
// reported in bytes.
// *Action: Examine the SQL statement for correctness. Check source
// and destination column data types.
// Either make the destination column wider, or use a subset
// of the source column (i.e. use substring).
按上面的步骤检查一下
1)Examine the SQL statement for correctness
2)Check source and destination column data types
3)Either make the destination column wider, or use a subset of the source column
------解决方案--------------------
应该是字符集的问题。
------解决方案--------------------
你的sql语句发出来看看
是不是客户端程序用了in()操作导致的
------解决方案--------------------
哎!悲剧啊.....