手机
当前位置:查字典教程网 >编程开发 >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 批量更新问题的解决方法】相关文章:

sqlserver2005 xml字段的读写操作

SQL Server 2005“备份集中的数据库备份与现有的数据库不同”解决方法

SQL Server 2005 DTS导入平面数据出现错误解决方案

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

Access 导入到SQL Server 2005的方法小结

SqlServer 2005 中字符函数的应用

SqlServer2005 数据库同步配置图文详解

远程连接局域网内的sql server 无法连接 错误与解决方法

sql2005 远程连接问题解决方法

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

精品推荐
分类导航