淺談如何用JDBC連接SQL Server 2000
用JDBC連接SQL Server 2000問(wèn)題總結(jié):
1、安裝SQL Server2 000
安裝SQL Server 2000補(bǔ)丁SP3
安裝SQL Server 2000 for SP3的驅(qū)動(dòng)程序
(先打補(bǔ)丁sp3,再安裝針對(duì)sp3的驅(qū)動(dòng)程序,安裝補(bǔ)丁時(shí),為保險(xiǎn)起見(jiàn),兩種驗(yàn)證方式的都裝一遍,我是先裝windows驗(yàn)證,再裝SQL Server驗(yàn)證的)
打開(kāi)JBuilder
2、tools_configure_libraries new一個(gè)sqlserver,在library paths中加入驅(qū)動(dòng)程序安裝目錄下lib文件夾中的三個(gè)jar文件
3、project——default projectproperties在paths頁(yè)下的required libaraes頁(yè)中加入第1步new的sqlserver
4、tools——enterprise setup(jb9)
enterprise——enterprise setup(jb2005)
在彈出的對(duì)話框的database driver頁(yè)中,添加第1步new的sqlserver,確定
5、重啟jbuilder
6、tools——database pilot
在彈出的窗口的菜單中選view——option
在彈出的對(duì)話框中選driver頁(yè)面,點(diǎn)add
在driver class文本框中輸入com.microsoft.jdbc.sqlserver.SQLServerDriver,確定
7、設(shè)置名為com.microsoft.jdbc.sqlserver.SQLServerDriver的driver class
Driver是com.microsoft.jdbc.sqlserver.SQLServerDriver
URL是jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=數(shù)據(jù)庫(kù)名(如:cardSystem)
用JDBC連接SQL Server 2000常見(jiàn)問(wèn)題分析-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...
出現(xiàn)上邊錯(cuò)誤的主要原因是默認(rèn)的數(shù)據(jù)庫(kù)服務(wù)器端口 1433沒(méi)有打開(kāi),無(wú)法直接連接,如果成功升級(jí)到sp3則這個(gè)問(wèn)題可以結(jié)決。還有就是數(shù)據(jù)庫(kù)一定要用Windows和數(shù)據(jù)庫(kù)混合身分驗(yàn)證方式。
用JDBC連接SQL Server 2000常見(jiàn)問(wèn)題分析-2:
在安裝安裝SQLServer2000 for SP3的驅(qū)動(dòng)程序時(shí),彈出對(duì)話框提示:"以前的某個(gè)程序安裝已在安裝計(jì)算機(jī)上創(chuàng)建掛起的文件操作"
原因:以前裝過(guò)sql server,后來(lái)刪掉。現(xiàn)在重裝,卻出現(xiàn)“以前的某個(gè)程序安裝已在安裝計(jì)算機(jī)上創(chuàng)建掛起的文件操作。運(yùn)行安裝程序之前必須重新啟動(dòng)計(jì)算機(jī)”的錯(cuò)誤。無(wú)法進(jìn)行下去。
解決步驟是:
1)添加/刪除程序中徹底刪除sql server。
2)將沒(méi)有刪除的sql server目錄也刪除掉。
3)打開(kāi)注冊(cè)表編輯器,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager中找到PendingFileRenameOperations項(xiàng)目,并刪除它。這樣就可以清除安裝暫掛項(xiàng)目。
4)刪除注冊(cè)表中跟sql server相關(guān)的鍵。
其實(shí)估計(jì)只要做第3步就可以搞定,這樣就可以清除安裝暫掛項(xiàng)目。自己是先走了1,2,4,最后 做了3才搞定。所以估計(jì)3才是最關(guān)鍵的。
采用sql server driver 來(lái)實(shí)現(xiàn)對(duì)sqlserver數(shù)據(jù)庫(kù)的操作時(shí),一般代碼如下:
- 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();
- }
- }
如果是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.
估計(jì)是你連接sql server的端口設(shè)置有問(wèn)題,你可以查看一下端口,看看是不是1433。
解決:出現(xiàn)[Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket
凡是出現(xiàn)這種錯(cuò)誤的,都可以說(shuō)不是程序本身的錯(cuò)誤,一般人都會(huì)寫(xiě)jdbc:microsoft:sqlserver://localhost:1433;這樣寫(xiě)是對(duì)的,很多是由于端口的問(wèn)題,請(qǐng)查看一下端口,如下:
1)打開(kāi)"企業(yè)管理器",打開(kāi)控制臺(tái)根目錄>SQL Server 組>數(shù)據(jù)庫(kù)
2)在相應(yīng)"數(shù)據(jù)庫(kù)"上單擊右鍵,選擇"屬性"
3)選擇"常規(guī)"選項(xiàng)卡,點(diǎn)擊"網(wǎng)絡(luò)配置",如啟用的協(xié)議中無(wú)"TCP/IP協(xié)議"將其加入
4)選擇"TCP/IP協(xié)議",點(diǎn)擊"屬性",檢查其端口號(hào)是否為1433
5)如端口號(hào)為1433將其修改為其它端口號(hào),修改jdbc連接語(yǔ)句,將端口號(hào)同樣改為新啟用的端口號(hào),如jdbc:microsoft:sqlserver://server_name:1400(假設(shè)新端口號(hào)為 1400)
【編輯推薦】