sql2005批量更新问题的解决方法
2023-06-13 09:14:16 时间
首先注意Statement和PreparedStatement的问题
Statementsm=cn.createStatement();
sm.addBatch(sql1);
sm.addBatch(sql2);
...
sm.executeBatch()
用Statement的好处就是每次可以直接传一个SQL语句进去,不用管那么多。可是在数据量比较大的时候,应该会对效率有影响。不建议使用。
PreparedStatementps=cn.preparedStatement(sql);
{
ps.setXXX(1,xxx);
...
ps.addBatch();
}
ps.executeBatch();
PreparedStatement是会预编译的,只要一条SQL,不断动态设值,然后addBatch(),在数据量大的时候比较好,非常建议使用。
还有就是JDBC的驱动问题,很多同志可能还是在用2000的驱动呢,没有用批量更新的程序没有多大问题,可是一旦用了批量更新,出现很多问题,
反正数据库很卡,慢。还可以更新不了哦。
我强烈建议大家更新JDBC驱动。
但是如果出现
SQLServerException:sp_cursoropen/sp_cursorprepare:该语句参数只能是一个批或带有单个SELECT语句的存储过程,且不带FORBROWSE、COMPUTEBY或变量赋值。
应该就是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;
Statementsm=cn.createStatement();
sm.addBatch(sql1);
sm.addBatch(sql2);
...
sm.executeBatch()
用Statement的好处就是每次可以直接传一个SQL语句进去,不用管那么多。可是在数据量比较大的时候,应该会对效率有影响。不建议使用。
PreparedStatementps=cn.preparedStatement(sql);
{
ps.setXXX(1,xxx);
...
ps.addBatch();
}
ps.executeBatch();
PreparedStatement是会预编译的,只要一条SQL,不断动态设值,然后addBatch(),在数据量大的时候比较好,非常建议使用。
还有就是JDBC的驱动问题,很多同志可能还是在用2000的驱动呢,没有用批量更新的程序没有多大问题,可是一旦用了批量更新,出现很多问题,
反正数据库很卡,慢。还可以更新不了哦。
我强烈建议大家更新JDBC驱动。
但是如果出现
SQLServerException:sp_cursoropen/sp_cursorprepare:该语句参数只能是一个批或带有单个SELECT语句的存储过程,且不带FORBROWSE、COMPUTEBY或变量赋值。
应该就是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;
相关文章
- 批量ping探测网段ip
- 用Python玩转PDF | 批量加密文件
- Mastodon自定义表情批量导入方法
- fecify批量编辑商品,博客文章,自定义页面
- 批量下载 Flash 的外部资源文件(如QQ农场)
- LyScript 批量搜索反汇编特征
- postgres 使用存储过程批量插入数据方法
- Linux给批量用户添加权限的简易方法(linux批量给权限)
- MySQL查询:批量查询多个ID(mysql查询多个id)
- MySQL中快速批量修改字段的方法(mysql批量修改字段)
- Linux系统下的批量重命名技巧(批量重命名linux)
- 【Linux 下批量重命名的简单方法】(批量重命名linux)
- 【linux下实现批量重命名的简单方法】(批量重命名linux)
- 为Linux批量重命名的简单方法(批量重命名linux)
- 【Linux下高效批量重命名方法】(批量重命名linux)
- 批量更新oracle数据的技巧及实现方法(批量更新oracle)
- Linux 的批量关机实现方法(linux批量关机)
- 简易方法mysql批量删除多行数据(mysql中删除多行数据)
- 记录Oracle批量插入多条记录的方法(oracle一次插入多条)
- sqlserverreplace函数批量替换数据库中指定字段内指定字符串参考方法
- ASP页面静态化批量生成代码分享(多种方法)
- ssh批量登录并执行命令的python实现代码
- js批量设置样式的三种方法不推荐使用with
- python批量下载图片的三种方法
- python批量导出导入MySQL用户的方法