PreparedStatement ps = connection.prepareStatement(sql);
String ssssssssssssssssssss = "";
for(int i=0; i<3000; i++) {
ssssssssssssssssssss += "a";
}
ps.setString(1,ssssssssssssssssssss);
ps.executeUpdate();
上面出错说:[Microsoft][SQLServer 2000 Driver for JDBC]The DBMS returned an unspecified error.
----------------------------------------
但将上面的 3000 改成 300,则上面的执行成功!
----------------------------------------
现在是要存任意长度的字符串,ntext不是说可以存甚至1G的吗?
----------------------------------------
说一下的是,我的SQLServer 2000 是装了 sp4 for sqlserver 2000 的补丁的,在没装 sp4 之前,好像无论 3000 还是更大,都成功,
因为执行的程序是一样的,是 sp4 的原因吗?还是其他的原因?
5 个解决方案
#1
jdbc驱动的问题,你看看数据库pubs的表pub_info中的存储数据长度
#2
pub_info没什么可看的啊!?
#3
有什么办法解决吗?
(不能固定任何字段的长度如8000等,因为字符串是可变的)
(不能固定任何字段的长度如8000等,因为字符串是可变的)
#4
用text类型
#5
用 text 一样,
更离谱的是,现在把该字段类型改成 varchar(8000) ,居然也一样出错,
好像现在不是用什么类型出错一样,
是不是行的存储容量太大了?
#1
jdbc驱动的问题,你看看数据库pubs的表pub_info中的存储数据长度
#2
pub_info没什么可看的啊!?
#3
有什么办法解决吗?
(不能固定任何字段的长度如8000等,因为字符串是可变的)
(不能固定任何字段的长度如8000等,因为字符串是可变的)
#4
用text类型
#5
用 text 一样,
更离谱的是,现在把该字段类型改成 varchar(8000) ,居然也一样出错,
好像现在不是用什么类型出错一样,
是不是行的存储容量太大了?