java遠程連接access數據庫


本文轉載自http://www.voidcn.com/article/p-tlrtkqlp-k.html

1  rmijdbc遠程連接access數據庫

正常情況下,常用的數據庫sql server, oracle,mysql等(曾經有同學居然說除了sql server和oracle就沒有DBMS了。。。天。。。),做為一個服務在服務器上跑,java需要遠程連接的時候使用jdbc非常方便。可是有的時候,也就是在一些非常特殊的情況下,使用sql server, oracle等數據庫有點大炮打蚊子的感覺,這時候從問題規模上說,使用access是比較合理的,但是有需要遠程訪問這么辦。
   如果使用vc等工具,這也不是難題,使用ado不是很困難,但是使用java怎么辦。。。
   有人說是用odbc數據源,是的,但是odbc數據源怎么遠程訪問(使用java),網上有人這樣寫
   jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=//192.168.0.1/目錄/db.mdb";
   簡直是胡說八道,如果沒有使用特別的手段(比如服務器路徑映射等等。。我沒有試過,反正直接這樣寫實不行的,這個我試過)。
   那么有什么辦法能夠遠程連接access數據庫呢,使用rmijdbc( http://rmijdbc.objectweb.org)

,簡單說一下怎么用。
   1 首先下載rmijdbc.jar, 加入系統環境變量,
   使你的CLASSPATH變量指向RmiJdbc.jar包:它位於RmiJdbc的dist/lib子目錄
  • Unix example (bash style):
    export CLASSPATH=$CLASSPATH:/usr/local/RmiJdbc/dist/lib/RmiJdbc.jar
  • Windows example:
    set CLASSPATH=%CLASSPATH%;D:\RmiJdbc\dist\lib\RmiJdbc.jar
   2  接着,運行 java org.objectweb.rmijdbc.RJJdbcServer(這一步很重要,是啟動rmijdbc服務,否則連接的時候報Connection refuse異常)。
 在32位的jdk環境下安裝成功
    

  在64位的jdk環境下安裝報錯了

    

 


   3   剩下的當然就是怎么連接了。

   第一步:在服務器上建一個odbc數據源,指向一個.mdb文件
   第二步:客戶端連接代碼
               Class.forName("org.objectweb.rmijdbc.Driver").newInstance();
               String url = "jdbc:rmi://192.168.0.201/jdbc:odbc:english";
  明白了吧,很簡單。
  這樣,當規模不大的時候,我們就不需要安裝Sql server 這些比較重量級的家伙了,采用access輕便又實用。
 
參考帖子:
http://blog.csdn.net/hongdi/article/details/5482470(該帖驗證步驟是正確的)
 
 
另一種方法:

2 java 使用 ucanaccess 連接Access數據庫

轉載地址

package com.xu.access;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

//首先需要添加 ucanaccess 的jar包
//ucanaccess下載–>(http://download.csdn.net/detail/qq_34814092/9852513)
//ucanaccess官網–>(https://sourceforge.net/projects/ucanaccess/)
//然后引入 ucanaccess 的 jar 包
//可以只引入核心 ucanaccess 的 jar 包,建議全部引入

public class Access {
public static void main(String[] args) throws Exception {
//———————————————————————————————
Class.forName(“net.ucanaccess.jdbc.UcanaccessDriver”);//這個驅動的地址不要改
Connection con=DriverManager.getConnection(“jdbc:ucanaccess://G:\Access\bookmng.mdb”,”“,”“);
//DriverManager.getConnection(“jdbc:ucanaccess://G:\Access\bookmng.mdb”,”“,”“);
//只依據自己的實際情況更改 G:\Access\bookmng.mdb 即你的Access文件(如text.mdb) 的絕對路徑或相對路徑
//后面的兩個參數可以不用填寫
//除了上面的兩步下面的操作和 MySQL Oracle 的基本一樣
Statement stmt=con.createStatement();
//———————————————————————————————
//查找數據
ResultSet rs=stmt.executeQuery(“select * from test”);
while(rs.next()){
System.out.println(rs.getString(“name”));
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM