2010-01-26 3 views
0

Ma base de données distante est la base de données Mysql et je veux retreive quelques enregistrements et mis dans la base de données Microsoft accès qui est une base de données localhostComment connecter à distance ODBC à l'aide de Java sous Windows XP?

et je veux aussi créer DSN pour base de données distante

s'il vous plaît aidez-moi

+0

Et quel est le problème? –

+0

Comment puis-je créer un DSN pour une base de données distante? –

+2

Pourquoi avez-vous besoin de parler à MySQL en utilisant ODBC? Pourquoi pas JDBC vers MySQL, et JDBC-ODBC passer à Access? – skaffman

Répondre

2

Je viens d'avoir une configuration similaire fonctionnant dans MATLAB qui utilise java pour se connecter aux bases de données MySQL et Access. J'ai créé une classe java avec la méthode suivante

/** 
* 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");} 
} 

Cela fonctionne sur un réseau interne, de façon par les commentaires définissant le glnd2818898.network.net DatabaseURL est le serveur MySQL et il se connecte à la base de données « Matlab »

l'interface d'accès est similaire

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());} 
} 

il est probablement pas le codage neatest java comme ce fut ma première tentative d'un utilisateur Matlab point de vue, mais cela fonctionne pour moi.

0

Vous souhaitez utiliser le JDBC ODBC Bridge pour vous connecter à votre base de données ODBC.

Questions connexes