解決SQL Server 2005數據庫批量更新的辦法_Mssql數據庫教程
推薦:詳細解析SQL Server安裝sp4補丁報錯的方法問題:在安裝SP4補丁的時候,老是報驗證密碼錯誤。 上網查了一下資料,發現是一個小bug。 按照一下操作,安裝正常。 SQL Server補丁安裝常見問題 SQL Server補丁安裝常見問題:一、SQL Server補丁版本的檢查 SQL Server的補丁版本檢查不如Windows 補丁版本檢
這些天因為有數據割接的需求,于是有要寫關于批量更新的程序。我們的數據庫使用的是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;
分享:關于Oracle數據庫與SQL Server數據庫鏡像的關系摘要:Oracle和微軟都是數據庫方面的大廠商,采用兩家的產品的企業也不少。今天這篇文章為大家對比Oracle和SQLServer的鏡像。 標簽:Oracle SQL Server 鏡像 數據庫鏡像是將數據庫事務處理從一個數據庫移動到不同環境中的另一個數據庫中。鏡像的拷貝是一個備
- sql 語句練習與答案
- 深入C++ string.find()函數的用法總結
- SQL Server中刪除重復數據的幾個方法
- sql刪除重復數據的詳細方法
- SQL SERVER 2000安裝教程圖文詳解
- 使用sql server management studio 2008 無法查看數據庫,提示 無法為該請求檢索數據 錯誤916解決方法
- SQLServer日志清空語句(sql2000,sql2005,sql2008)
- Sql Server 2008完全卸載方法(其他版本類似)
- sql server 2008 不允許保存更改,您所做的更改要求刪除并重新創建以下表
- SQL Server 2008 清空刪除日志文件(瞬間日志變幾M)
- Win7系統安裝MySQL5.5.21圖解教程
- 將DataTable作為存儲過程參數的用法實例詳解
- 相關鏈接:
- 教程說明:
Mssql數據庫教程-解決SQL Server 2005數據庫批量更新的辦法
。