SQL Server 2000 是當今網絡編程中使用的比較多的一個數據庫系統,而java則是流行的網絡編程語言,在網絡編程中涉及的比較多也比較重要的就是數據庫問題,Java自身提供了對各類主流數據庫系統的支持,通過提供Java.SQL 庫,提供了一個統一的接口,使得可以在Java環境下不必對程序作大規模的修改,只要更改相應的驅動程序,即可實現對各類數據庫的操作,從而提高軟件的生存周期和降低軟件的開發成本和維護費用,在這種情況下SQL Server 2000 和Java 的融合問題就顯得比較重要了,本文簡要地闡述一下SQL Server 2000 和jdk的融合問題。
String driver; String url; String user; String pwd; public DbTest() { driver = "sun.JDBC.odbc.JDBCOdbcDriver"; url = "JDBC:odbc:store_manager"; user = "share"; pwd = "share"; init(); } public void init() { try{ Class.forName(driver); System.out. con = DriverManager.getConnection (url,user,pwd); System.out.println("conection is ok"); sta = con.createStatement(); rs = sta.executeQuery ("select * from room"); while(rs.next()) System.out.println (rs.getInt("roomNum")); }catch(Exception e) { e.printStackTrace(); } }
public static void main (String args?。郏? //自己替換[] { new DbTest(); } }
運行結果如下:
driver is ok conection is ok 1001 1002 1003 1004 1005 1006 Press any key to continue...
順利通過測試
2、我們這次不通過odbc橋來操作數據庫,我們采用SQL Server driver 來實現對SQLServer數據庫的操作,這將是我們這篇文章的重點,因為JDBC-odbc橋是一種常見的操作windows系統數據庫的常用方法,但它存在的缺點很多,所以現在很多開發者都側重于使用SQLServer driver來操作,在這里我們通過一步步的調試,來加深讀者對這種連接的理解。
在通常的理解下,只要我們裝了SQLServer driver for JDBC我們便可進行數據庫編程,事實則不然,首先我們看下邊的代碼:
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...
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...