檢查插入的值是否大於該字段數據類型約束的長度。
這個異常是指,用戶向數據庫執行插入數據操作時,某條數據的某個字段值過長,如 果是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;
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不需指定長度。