ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值

ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值

检查插入的值是否大于该字段数据类型约束的长度。

这个异常是指,用户向数据库执行插入数据操作时,某条数据的某个字段值过长,如果是varchar2类型的,当长度超过2000,--4000(最大值)之间的时候,oracle会自动将该字段值转为long型的,然后,插入操作失败。解决办法是:将此字段的类型改为clob或者blob类型;

但是将oracle数据库表中的varchar2类型直接改成clob类型会失败,解决办法如下:new 一个Sql view,执行下列代码:

alter table A modify column_a long;

alter table A modify column_a clob;

在进行此操作之前需要清空表中的数据,请提前备份数据,修改完成后,将数据导入即可。

注:clob不需指定长度。

1、插入到字符串长度大于4000字节
2、插入到表中的记录其中一个是long类型、还有其他实际长度大于2000个字节(如果是UTF-8,则是1333个字节);或者是插入的记录中有两个或两个以上长度大于2000字节的字符串 。

参考:https://www.cnblogs.com/xiaotiannet/p/3846444.html

你可能感兴趣的:(数据库)