用jdbc串連sql server 2000問題總結:
1、安裝sql server2 000
安裝sql server 2000補丁sp3
安裝sql server 2000 for sp3的驅動程式
(先打補丁sp3,再安裝針對sp3的驅動程式,安裝補丁時,為保險起見,兩種驗證方式的都裝一遍,我是先裝windows驗證,再裝sql server驗證的)
開啟jbuilder
2、tools_configure_libraries new一個sqlserver,在library paths中加入驅動程式安裝目錄下lib檔案夾中的三個jar檔案
3、project——default projectproperties在paths頁下的required libaraes頁中加入第1步new的sqlserver
4、tools——enterprise setup(jb9)
enterprise——enterprise setup(jb2005)
在彈出的對話方塊的database driver頁中,添加第1步new的sqlserver,確定
5、重啟jbuilder
6、tools——database pilot
在彈出的視窗的菜單中選view——option
在彈出的對話方塊中選driver頁面,點add
在driver class文字框中輸入com.microsoft.jdbc.sqlserver.sqlserverdriver,確定
7、設定名為com.microsoft.jdbc.sqlserver.sqlserverdriver的driver class
driver是com.microsoft.jdbc.sqlserver.sqlserverdriver
url是jdbc:microsoft:sqlserver://localhost:1433;databasename=資料庫名(如:cardsystem)
用jdbc串連sql server 2000常見問題分析-1:
java.sql.sqlexception: [microsoft][sqlserver 2000 driver for jdbc]error establis
hing socket.
at com.microsoft.jdbc.base.baseexceptions.createexception(unknown source
)
at com.microsoft.jdbc.base.baseexceptions.getexception(unknown source)
at com.microsoft.jdbc.base.baseexceptions.getexception(unknown source)
at com.microsoft.jdbc.sqlserver.tds.tdsconnection.(unknown source)
at com.microsoft.jdbc.sqlserver.sqlserverimplconnection.open(unknown sou
rce)
at com.microsoft.jdbc.base.baseconnection.getnewimplconnection(unknown s
ource)
at com.microsoft.jdbc.base.baseconnection.open(unknown source)
at com.microsoft.jdbc.base.basedriver.connect(unknown source)
at java.sql.drivermanager.getconnection(drivermanager.java:523)
at java.sql.drivermanager.getconnection(drivermanager.java:171)
at dbtest.init(dbtest.java:32)
at dbtest.(dbtest.java:25)
at dbtest.main(dbtest.java:46)
press any key to continue...
[/pre]
出現上邊錯誤的主要原因是預設的資料庫伺服器連接埠 1433沒有開啟,無法直接連接,如果成功升級到sp3則這個問題可以結決。還有就是資料庫一定要用windows和資料庫混合身分驗證方式。
用jdbc串連sql server 2000常見問題分析-2:
在安裝安裝sqlserver2000 for sp3的驅動程式時,彈出對話方塊提示:"以前的某個程式安裝已在安裝電腦上建立掛起的檔案操作"
原因:以前裝過sql server,後來刪掉。現在重裝,卻出現“以前的某個程式安裝已在安裝電腦上建立掛起的檔案操作。運行安裝程式之前必須重新啟動電腦”的錯誤。無法進行下去。
解決步驟是:
1)添加/刪除程式中徹底刪除sql server。
2)將沒有刪除的sql server目錄也刪除掉。
3)開啟登錄編輯程式,在hkey_local_machine/system/currentcontrolset/control/session manager中找到pendingfilerenameoperations項目,並刪除它。這樣就可以清除安裝暫掛項目。
4)刪除註冊表中跟sql server相關的鍵。
其實估計只要做第3步就可以搞定,這樣就可以清除安裝暫掛項目。自己是先走了1,2,4,最後 做了3才搞定。所以估計3才是最關鍵的。
採用sql server driver 來實現對sqlserver資料庫的操作時,一般代碼如下:
connection con = null;
preparestatement pstmt = null;
try{
class.forname("com.microsoft.jdbc.sqlserver.sqlserverdriver");
con = drivermanager.getconnection("jdbc:microsoft:sqlserver//localhost:1433;databasename=pubs","sa","sa");
pstmt = con.preparedstatment("insert ....");
//......
}catch(classnotfoundexception e){
e.printstacktrace();
}catch(sqlexception e){
e.printstacktrace();
}finally{
try{
if (pstmt != null) pstmt.close();
if (con != null) con.close();
}catch(exception e){
e.printstacktrace();
}
}
[/pre]
如果是sqlserver2005,則改成:
class.forname("com.microsoft.sqlserver.jdbc.sqlserverdriver");
con = drivermanager.getconnection("jdbc:sqlserver//localhost:1433;databasename=pubs","sa","sa");
> java.sql.sqlexception: [microsoft][sqlserver 2000 driver for jdbc]error establishing socket.
[/pre]
估計是你串連sql server的連接埠設定有問題,你可以查看一下連接埠,看看是不是1433。
解決:出現[microsoft][sqlserver 2000 driver for jdbc]error establishing socket
凡是出現這種錯誤的,都可以說不是程式本身的錯誤,一般人都會寫jdbc:microsoft:sqlserver://localhost:1433;這樣寫是對的,很多是由於連接埠的問題,請查看一下連接埠,如下:
1)開啟"企業管理器",開啟控制台根目錄>sql server 組>資料庫
2)在相應"資料庫"上單擊右鍵,選擇"屬性"
3)選擇"常規"選項卡,點擊"網路設定",如啟用的協議中無"tcp/ip協議"將其加入
4)選擇"tcp/ip協議",點擊"屬性",檢查其連接埠號碼是否為1433
5)如連接埠號碼為1433將其修改為其它連接埠號碼,修改jdbc串連語句,將連接埠號碼同樣改為新啟用的連接埠號碼,如jdbc:microsoft:sqlserver://server_name:1400(假設新連接埠號碼為 1400)
【編輯精選】
淺談通過使用jdbc的statement進行資料操作
java高手詳解使用jdbc的步驟
淺談db2 jdbc驅動程式及其支援的功能
詳解jdbc與hibernate區別
jdbc串連mysql資料庫關鍵四步
淺談jdbc的概念理解與學習
本貼來自天極網群樂社區--http://q.yesky.com/group/review-18217272.html