天天看點

Oracle中Clob類型處了解析:ORA-01461:僅可以插入LONG列的LONG值指派

Oracle中Clob類型處了解析:ORA-01461:僅可以插入LONG列的LONG值指派

  今天設計了一張表存儲請求和響應封包的表,針對這兩個内容有兩個字段,指定的類型為CLOB資料類型。然後插入資料庫時,報錯:

Oracle中Clob類型處了解析:ORA-01461:僅可以插入LONG列的LONG值指派

;

原因分析

  之是以會出現長度大于4000時報錯,是因為Oracle中有SQL語句中兩個單引号之間的字元數不能大于4000的限制。當資料的長度大于4000個位元組時就會報錯。主要有下列的情況。

  • 1、插入到字元串長度大于4000位元組。
  • 2、插入到表中的記錄的某個字段資料的實際長度大于2000個位元組(如果是UTF-8,則是1333個位元組);
  • 3.插入的記錄中有兩個或兩個以上長度大于2000位元組的字元串。

解決方法

1.縮短存入的資料長度。一般情況下,顯然很多情況下應該是不行的,會跟需求沖突。

2.修改資料庫字段定義類型為Blob。