新聞中心
SQL Server 2005數(shù)據(jù)庫功能性是還算很好的,技術(shù)含量也是相當(dāng)高的,本文將為大家介紹SQL Server 2005數(shù)據(jù)庫批量更新的解決方案。

創(chuàng)新互聯(lián)長期為千余家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為豐順企業(yè)提供專業(yè)的做網(wǎng)站、網(wǎng)站制作,豐順網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
首先注意Statement 和PreparedStatement的問題
Statement sm = cn.createStatement();
sm.addBatch(sql1);
sm.addBatch(sql2);
...
sm.executeBatch()
用Statement的好處就是每次可以直接傳一個SQL語句進(jìn)去,不用管那么多。可是在數(shù)據(jù)量比較大的時候,應(yīng)該會對效率有影響。不建議使用。
PreparedStatement ps = cn.preparedStatement(sql);
{
ps.setXXX(1,xxx);
...
ps.addBatch();
}
ps.executeBatch();
PreparedStatement是會預(yù)編譯的,只要一條SQL,不斷動態(tài)設(shè)值,然后addBatch(),在數(shù)據(jù)量大的時候比較好,非常建議使用。
還有就是JDBC的驅(qū)動問題,很多同志可能還是在用2000的驅(qū)動呢,沒有用批量更新的程序沒有多大問題,可是一旦用了批量更新,出現(xiàn)很多問題,
反正數(shù)據(jù)庫很卡,慢。還可以更新不了哦。
我強烈建議大家更新JDBC驅(qū)動。
但是如果出現(xiàn)
SQLServerException: sp_cursoropen/sp_cursorprepare: 該語句參數(shù)只能是一個批或帶有單個 SELECT 語句的存儲過程,且不帶 FOR BROWSE、COMPUTE BY 或變量賦值。
應(yīng)該就是JDBC的版本問題,1.0的驅(qū)動有這個問題,好像不支持批量更新,我建議大家使用1.2
我測試過了,完全沒有問題!
提供一些數(shù)據(jù)連接參數(shù)
jdbc.driverClassName:com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc.url:jdbc:sqlserver://127.0.0.1:1444;databaseName=fax;selectMethod=cursor;
通過上文的學(xué)習(xí),大家只是從理論上知道了SQL Server 2005數(shù)據(jù)庫批量更新是怎么回事,最終還是要將理論付諸于實踐,讓文中的理論知識真正成為您的東西。
【編輯推薦】
- SQL Server 2005的動態(tài)管理對象
- 如何在SQL Server 2005中為安裝程序增加計數(shù)器注冊表項值
- SQL Server 2005的各種版本所支持的功能
- 完全卸載SQL Server 2005的實現(xiàn)方法
網(wǎng)頁題目:SQLServer2005數(shù)據(jù)庫批量更新解決辦法
轉(zhuǎn)載來于:http://fisionsoft.com.cn/article/cdshoes.html


咨詢
建站咨詢
