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。