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

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

但是将oracle数据库表中的varchar2类型直接改成clob类型会失败,解决办法如下:

1、new 一个 view 

{

    假设我们有以下的表格:

Customer 表格

栏位名称 资料种类
First_Name char(50)
Last_Name char(50)
Address char(50)
City char(50)
Country char(25)
Birth_Date datetime

若要在这个表格上建立一个包括 First_Name, Last_Name, 和 Country 这三个栏位的视观表,我们就打入,

 

CREATE VIEW V_Customer
AS SELECT First_Name, Last_Name, Country
FROM Customer;

现在,我们就有一个叫做 V_Customer 的视观表:

V_Customer 视观表

栏位名称 资料种类
First_Name char(50)
Last_Name char(50)
Country

char(25)
 
 

}

2、一般如果表中数据不重要可以清空,跳过步骤1直接执行步骤2

执行下列代码:

 

 

alter table FILE_MANAGE modify FILEPATH long;

alter table FILE_MANAGE modify FILEPATH clob;

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

注:clob不需指定长度。