手机
当前位置:查字典教程网 >编程开发 >mssql数据库 >sql2005 批量更新问题的解决方法
sql2005 批量更新问题的解决方法
摘要:首先注意Statement和PreparedStatement的问题Statementsm=cn.createStatement();sm....

首先注意Statement 和PreparedStatement的问题

Statement sm = cn.createStatement();

sm.addBatch(sql1);

sm.addBatch(sql2);

...

sm.executeBatch()

用Statement的好处就是每次可以直接传一个SQL语句进去,不用管那么多。可是在数据量比较大的时候,应该会对效率有影响。不建议使用。

PreparedStatement ps = cn.preparedStatement(sql);

{

ps.setXXX(1,xxx);

...

ps.addBatch();

}

ps.executeBatch();

PreparedStatement是会预编译的,只要一条SQL,不断动态设值,然后addBatch(),在数据量大的时候比较好,非常建议使用。

还有就是JDBC的驱动问题,很多同志可能还是在用2000的驱动呢,没有用批量更新的程序没有多大问题,可是一旦用了批量更新,出现很多问题,

反正数据库很卡,慢。还可以更新不了哦。

我强烈建议大家更新JDBC驱动。

但是如果出现

SQLServerException: sp_cursoropen/sp_cursorprepare: 该语句参数只能是一个批或带有单个 SELECT 语句的存储过程,且不带 FOR BROWSE、COMPUTE BY 或变量赋值。

应该就是JDBC的版本问题,1.0的驱动有这个问题,好像不支持批量更新,我建议大家使用1.2

我测试过了,完全没有问题!

提供一些数据连接参数

jdbc.driverClassName:com.microsoft.sqlserver.jdbc.SQLServerDriver

jdbc.url:jdbc:sqlserver://127.0.0.1:1444;databaseName=fax;selectMethod=cursor;

【sql2005 批量更新问题的解决方法】相关文章:

sql 2005不允许进行远程连接可能会导致此失败的解决方法

SQL Server 2008 阻止保存要求重新创建表的更改问题的设置方法

更改SQL Server 2005数据库中tempdb位置的方法

SQL Server2008 数据库误删除数据的恢复方法分享

在sqlserver2005中安装sql server 2000的示例数据库northwind的方法

安装SQL2005 29506错误码的解决方案

SqlServer 2005 中字符函数的应用

SQL2005的维护计划无法删除的解决方法

Server2005中更改sa的用户名的多种方法

Sql server2005 优化查询速度50个方法小结

精品推荐
分类导航