SQL Server 2005数据库批量更新解决办法
作者:feng 来源:blogjava 发布时间:2009-04-11 16:12:00
这些天因为有数据割接的需求,于是有要写关于批量更新的程序。我们的数据库使用的是SQLSERVER2005,碰到了一些问题来分享下。
首先注意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;
我上传了1.2的驱动 点击下载
猜你喜欢
- 需求描述上周突然接到一个任务,要通过XX网站导出XX年-XX年之间的数据,导出后的文件名就是对应日期,导出后发现,竟然有的文件大小是一样,但
- 成功解决ValueError: Supported target types are: ('binary', 'mu
- 如下所示:#!/usr/bin/env pythonimport serialimport timeimport threadclass M
- Metro风格设计主要特点 1.Windows 8 Metro风格设计,实现网站或系统功能的导航 2.纯Javascript实现 3.支持所
- Python3中sort方法是列表类型list的内置方法,使用sort方法对list排序会修改list本身,不会返回新的list。sort方
- 虽然每天发送高(hao)精(nan)专(dong)的资讯文章给大家,大家还是很给面子的都来阅读了,所以能看的出大家都是很爱学习的人喔,所以小
- 1、超时时间以下这些配置项单位都是秒,在mysql命令行中可以使用show global variables like '变量名
- 准备工作右击新建的项目,选择Python File,新建一个Python文件,然后在开头import cv2导入cv2库。转成灰度图像调用i
- typetype方法有两种重载形式:type(o: object);type(name: str, bases:Tuple[type, ..
- 本文实例讲述了python使用协程实现并发操作的方法。分享给大家供大家参考,具体如下:协程协程是一种用户态的轻量级线程,又称微线程。协程拥有
- 一、ADO.Net数据库连接字符串1、OdbcConnection(System.Data.Odbc)(1)SQL Sever标准安全:&q
- 1.Python3读取hdf文件最开始使用Python导入pyhdf包的时候是可以的,但是当导入pyhdf.SD的时候就出现了以下问题:我查
- 如下所示:def translationCipher(msg,key): result = ["&quo
- 目录一、jieba库概述二、jieba库安装三、jieba分词的原理四、jieba分词的3种模式五、jieba库常用函数六、文本词频示例七、
- 本文实例为大家分享了python之pygame模块实现飞机大战的具体代码,供大家参考,具体内容如下Python飞机大战步骤:1.数据区2.主
- urllib包和http包都是面向HTTP协议的。其中urllib主要用于处理 URL,使用urllib操作URL可以像使用和打开本地文件一
- 用python爬取网页表格数据,供大家参考,具体内容如下from bs4 import BeautifulSoup import reque
- 自定义组件挂载原型上以elementUI二次分装dialog举例PageDialog.vue<!-- 页面提示弹框 --><
- 1.echo和print的区别PHP中echo和print的功能基本相同(输出),但是两者之间还是有细微差别的。echo输出后没有返回值,但
- python中email模块使得处理邮件变得比较简单,今天着重学习了一下发送邮件的具体做法,这里写写自己的的心得,也请高手给些指