如何在Windows XP中使用Java远程连接ODBC?[英] How can i remotely connect ODBC using Java in Windows XP?

问题描述

我的远程数据库是 Mysql 数据库,我想检索一些记录并放入Microsoft Access 数据库,它是一个 localhost 数据库

我还想为远程数据库创建 DSN

请帮帮我

推荐答案

我刚刚在 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"

Access接口类似

    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 用户的角度来看,这是我的第一次尝试,但它对我有用.

本文地址:https://www.itbaoku.cn/post/978552.html