2010-01-26 42 views
0

我的遠程數據庫是MySQL數據庫和我想中檢索一些記錄並投入 Microsoft Access數據庫是本地主機數據庫如何在Windows XP中使用Java遠程連接ODBC?

,我想也對遠程數據庫

創建DSN,請幫我

+0

這是什麼問題? – 2010-01-26 09:42:13

+0

如何爲遠程數據庫創建DSN? – 2010-01-26 09:45:44

+2

爲什麼你需要使用ODBC與MySQL交談?爲什麼不將JDBC轉換爲MySQL,並將JDBC-ODBC橋接到Access? – skaffman 2010-01-26 09:56:27

回答

2

我剛剛在MATLAB中使用類似的設置,它使用java連接到MySQL和Access數據庫。 我創建了一個Java類用下面的方法

/** 
* Open a connection to a MySQL database 
* @param userName  registered user on the MySQL database. 
* @param userPassword MySQL database password for the named user. 
* @param databaseUrl database name eg. 'jdbc:mysql://glnd2818898.network.net/matlab' 
*/ 
public void openMySQLConnection(String userName, String userPassword, String databaseUrl){ 
    try { 
     Class.forName ("com.mysql.jdbc.Driver").newInstance(); 
     conn = DriverManager.getConnection (databaseUrl, userName, userPassword); 

    }catch (SQLException e) {System.err.println ("Cannot connect to database server");} 
} 

這將運行通過內部網絡,作爲每所以限定databaseUrl glnd2818898.network.net的意見是MySQL服務器並將其連接到數據庫的Matlab'

訪問接口類似於

private static final String accessDBURLPrefix = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="; 
    private static final String accessDBURLSuffix = ";READONLY=true}"; 

    /** 
    * Open a connection to a Access database 
    * @param userName  registered user on the Access database. 
    * @param userPassword Access database password for the named user. 
    * @param databaseUrl database name eg. 'pathname/accessName.mdb' 
    */ 
public void openConnAccess(String userName, String userPassword, String databaseUrl){ 
    try { 
     Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
        String dbUrl = accessDBURLPrefix + databaseUrl + accessDBURLSuffix; 
     conn = DriverManager.getConnection (dbUrl, userName, userPassword); 
    }catch (SQLException e) {System.err.println ("Cannot connect to database server :" + e.getMessage());} 
} 

它可能不是最巧妙的Java代碼,因爲它是我從一個MATLAB用戶點的第一次嘗試,但它爲我工作。