一个新闻表,其中的用了CLOB类型,当我插入长度超过1000的String类型的东西就报了ORA-01461: 仅可以为插入 LONG 列的 LONG 值赋值错误,在网上查,说是setString对于1000-2000之间的内容会报错
本来是INSERT INTO TT(CONTENT)VALUES(?);
我改成了了:
int length = content.length();
String s1 = "";
String s2 = "";
if (length > 1000&&length<2000) {
s1 = content.substring(0, 1000);
s2 = content.substring(1000, length);
} else {
s1 = content;
}
INSERT INTO TT(CONTENT)VALUES(?||?"+");
也就是把超过1000低于2000的字符串,一分为2,此后我插入一千多和二千多的正常,但是我又碰到另一个问题,我插入的字符是3415时,这个错误又出现了
本来是INSERT INTO TT(CONTENT)VALUES(?);
我改成了了:
int length = content.length();
String s1 = "";
String s2 = "";
if (length > 1000&&length<2000) {
s1 = content.substring(0, 1000);
s2 = content.substring(1000, length);
} else {
s1 = content;
}
INSERT INTO TT(CONTENT)VALUES(?||?"+");
也就是把超过1000低于2000的字符串,一分为2,此后我插入一千多和二千多的正常,但是我又碰到另一个问题,我插入的字符是3415时,这个错误又出现了
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货