廖洪亮 2010/4/13
概述
在實際的項目中,可能會遇到這樣的問題:A服務器上的應用程序需要訪問B服務器上的access數據庫(可以使用虛擬機模擬A、B服務器進行測試)。而access數據庫是文件類型的,不同計算機間需要指定文件訪問權限,增加了程序的複雜度。本文將從一個實例來介紹一種簡單實用的方法。該實例使用的方法來自Internet,並已經成功應用到實際項目中。
在B服務器中創建access數據
1、創建access數據庫前,確保你的計算機中已經安裝了MS office軟件。
2、創建一個測試數據庫,testdb.mdb(文件版本爲office200-2003) ,新建表tb_test,字段ID、name、age,並插入幾天相應的記錄。
3、test.mdb放置在E:/mydb目錄下。
在B服務器中設置ODBC數據源
1、 使用”win”+r組合鍵,調出“運行”對話框,輸入”odbcad32”調出“ODBC數據源管理器”。
2、 選擇“系統DSN”頁籤,點擊“添加”按鈕,創建新數據源,選擇“Microsoft Access Driver(*.mdb)”。點擊“完成”,彈出“ODBC Microsoft Access安裝”對話框,配置如下圖:
圖1 ODBC Microsoft Access 配置
注意: 在圖1中,須選擇對應的access數據庫,做法:點擊”選擇(S)…”,選擇數據庫文件的路徑。
3、 確定完成。
在B服務器中配置並啓動RmiJdbc服務
1、 從http://forge.ow2.org/project/showfiles.php?group_id=8&release_id=623下載RmiJdbc.jar包。
2、 配置系統環境變量。右鍵”計算機”——“高級”——“環境變量”,在“系統變量”中,新建變量名爲CLASSPATH的系統變量,被配置其值。
CLASSPATH=%CLASSPATH%; E:/RmiJdbc/dist/lib/RmiJdbc.jar;
注意:E:/RmiJdbc/dist/lib/RmiJdbc.jar爲Rmijdbc.jar放置的目錄
3、 使用”win”+r組合鍵,輸入”cmd”,調出命令提示行對話框,輸入:
java org.objectweb.rmijdbc.RJJdbcServer
運行結果如下:
圖2 RmiJdbc服務啓動
注意:RmiJdbc服務啓動後不能關閉,即不能關閉圖2所示對話框。否則將提示:java.rmi.ConnectException: Connection refused to host錯誤
在A服務器中編寫測試程序
1、 程序中需要數據提供驅動程序,如:
Class.forName("org.objectweb.rmijdbc.Driver").newInstance();
2、 數據鏈接字符串
String url= jdbc:rmi://<rmiHostName[:port]>/<jdbc-url>;
其中rmiHostName爲主機名或IP地址,port爲端口號,jdbc-url爲odbc連接名。
3、 創建一個java文件,命名爲testdemo.java,輸入下列代碼:
4、 在命令提示對話框中,使用cd命令導航到testdemo.java所在的目錄,輸入編譯命令:
Javac testdemo.java
編譯testdemo.java,在目錄中生成了testdemo.class文件。
輸入命令:
Java testdemo
運行測試程序,結果如圖:
圖3 測試結果
注意:在編譯java程序時,務必確定你計算機中已經配置好java開發環境。