sql server 2000 是當今網絡編程中使用的比較多的一個數據庫系統,而java則是流行的網絡編程語言,在網絡編程中涉及的比較多也比較重要的就是數據庫問題,java自身提供了對各類主流數據庫系統的支持,通過提供java.sql 庫,提供了一個統一的接口,使得可以在java環境下不必對程序作大規模的修改,只要更改相應的驅動程序,即可實現對各類數據庫的操作,從而提高軟件的生存周期和降低軟件的開發成本和維護費用,在這種情況下sql server 2000 和java 的融合問題就顯得比較重要了,本文簡要地闡述一下sql server 2000 和jdk的融合問題。
系統需求:
數據庫:sql server 2000 sp3
驅動程序:sql server driver for jdbc
java版本:jdk1.2以上
1:我們首先使用jdbc-odbc橋來實現數據庫的連接,這個相對簡單
首先使用sql server 企業治理其建立一個數據庫test,并建立一個簡單的表 first_table
driver is ok 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.<init>(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.<init>(DbTest.java:25) at DbTest.main(DbTest.java:46) Press any key to continue...
出現上邊錯誤的主要原因是默認的數據庫服務器端口 1433沒有打開,無法直接連接 。
假如升級到sp3則這個問題可以結決,我們再來看看升級之后,程序運行的結果
driver is ok conection is ok java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]對象名 'room' 無效。 at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source ) at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source) at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processErrorToken(Unknown Source) at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReplyToken(Unknown Source) at com.microsoft.jdbc.sqlserver.tds.TDSExecuteRequest.processReplyToken( Unknown Source) at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Sour ce) at com.microsoft.jdbc.sqlserver.SQLServerImplStatement.getNextResultType (Unknown Source) at com.microsoft.jdbc.base.BaseStatement.commonTransitionToState(Unknown Source) at com.microsoft.jdbc.base.BaseStatement.postImplExecu te(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.commonExecute(Unknown Source) at com.microsoft.jdbc.base.BaseStatement.executeQueryInternal(Unknown So urce) at com.microsoft.jdbc.base.BaseStatement.executeQuery(Unknown Source) at DbTest.init(DbTest.java:35) at DbTest.<init>(DbTest.java:25) at DbTest.main(DbTest.java:46) Press any key to continue...