对SQL2005批量更新问题的解决

第一,注重语句和PreparedStatement的问题
声明cn.createstatement SM =();
Sm.addBatch(SQL1);
Sm.addBatch(SQL2);

Sm.executeBatch()
使用语句的优点是,每次您可以直接获得SQL语句时,就不需要进行大量的管理,但是当数据量很大时,它将对效率产生影响。
PreparedStatement PS = cn.preparedstatement(SQL);
{
Ps.setXXX(1,XXX);

Ps.addBatch();
}
Ps.executeBatch();
预处理语句是预编译。只要一个SQL是不断动态设置,然后addbatch()是当数据量大。建议使用。
JDBC的驱动问题也存在。许多同志可能使用2000个司机。批量更新程序没有太大的问题,但是一旦使用了批量更新,就有很多问题。
数据库很慢,不能更新。
我强烈建议大家更新JDBC驱动程序。
但如果它出现
sqlserverexception:sp_cursoropen / sp_cursorprepare:,这个声明的参数只能是一个批处理或存储过程与单个SELECT语句,而不包含浏览、计算或变量赋值。
它应该是JDBC的版本。1个驱动程序有这个问题,看起来它不支持批量更新。我建议你用1.2。
我已经测试过了,没有问题!
提供一些数据连接参数
driverclassname:com.microsoft.sqlserver.jdbc.sqlserverdriver JDBC。
JDBC。网址:JDBC:SQLServer: / / 127.0.0.1:1444;DatabaseName& = =光标SelectMethod传真;