一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Sql Server - sql2005 批量更新問題的解決方法

sql2005 批量更新問題的解決方法

2020-06-30 15:01服務器之家 Sql Server

這些天因為有數據割接的需求,于是有要寫關于批量更新的程序。我們的數據庫使用的是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;

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 女人与d0gxxx| 天堂在线中文无弹窗全文阅读 | 亚洲精品在线看 | 欧美日韩视频在线第一区二区三区 | 亚洲+欧美+国产+综合 | 国产精品热久久毛片 | 大象传媒1234区 | bnb99八度免费影院 | 亚洲阿v天堂在线2017 | 四虎免费影院4hu永久免费 | 三级视频中文字幕 | 91麻豆制片厂 | 免费一级片在线观看 | 91普通话国产对白在线 | www.尤物在线| 四虎影剧院 | gay18高中生白袜xnxx动漫 | 爱情岛永久成人免费网站 | 国产福利你懂的 | 日韩 欧美 国产 亚洲 中文 | 国产精品夜色视频一级区 | 日韩精品福利视频一区二区三区 | 亚洲另类中文字幕 | 白丝出水 | 青草视频网址 | 91av免费在线观看 | 99热这里有免费国产精品 | 亚洲男人的天堂在线 | aaa一级特黄| 国产在线播放91 | 国产大片线上免费观看 | 天堂资源8中文最新版 | 天堂中文在线免费观看 | 999久久久 | 性奶老妇 视频 | 91丝袜足控免费网站xx | 国产精品久久久久久影视 | 惊弦45集免费看 | 成版人快猫永久破解版 | 国产精品视频久久 | 国产精品色片 |