SQL Server 2005数据库批量更新解决办法
SQL Server 2005数据库功能性是还算很好的,技术含量也是相当高的,本文将为大家介绍SQL Server 2005数据库批量更新的解决方案。
首先注意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;
通过上文的学习,大家只是从理论上知道了SQL Server 2005数据库批量更新是怎么回事,最终还是要将理论付诸于实践,让文中的理论知识真正成为您的东西。
【编辑推荐】
相关文章
- OpenAI:训练大型神经网络的四种基本方法
- 聊聊八种架构模式
- 方程就是二叉树森林?从数据中直接发现未知控制方程和物理机理
- 零样本学习超越CLIP!谷歌提出首个多模态稀疏化模型LIMoE,还能降低计算成本
- 首台完全可编程光量子计算机面世:超过最强超算富岳7.8万亿倍
- 基于结构化数据的异常检测再思考: 我们究竟需要怎样的图神经网络?
- Android Content provider 组件
- 利用宇宙的能力来处理数据!「物理网络」远胜深度神经网络
- 世界首台常温量子计算机启用!无需绝对零度,主核竟然「镶钻」
- jupyter notebook安装部署及实战组合漏斗图绘制
- 找不到中文语音预训练模型?中文版 Wav2vec 2.0和HuBERT来了
- 让后端开发写个 API 文档就有那么难吗?
- NLP模型读不懂人话?微软AdaTest挑错效率高五倍
- CV未来在这68张图上?Google Brain深扒ImageNet:顶级模型全都预测失败
- 通用、可解释的AI计算硬件设计将是EDA的下一项革命性技术
- 无差错量子计算机或成现实
- 国产化瀚高数据库数据迁移文档:oracle11g数据库转瀚高8.6数据库实例演示
- Oracle 数据库 - 使用UEStudio修改dmp文件版本号,解决imp命令恢复的数据库与dmp本地文件版本号不匹配导致的导入失败问题,“ORACLE error 12547”问题处理
- Oracle 数据库修改配置文件sga_target参数的值,sga_target值太小导致数据库服务起不来问题解决,调大sga_target参数方法
- Oracle 数据库设置最大进程数参数方法,oracle最大进程数满了处理方法,sysdba管理员登录报“maximum number of processes (150) exceeded“问题解决