Problème de connexion avec une BD Access

Résolu
cs_coltman Messages postés 97 Date d'inscription jeudi 3 janvier 2008 Statut Membre Dernière intervention 10 février 2009 - 15 janv. 2009 à 09:23
cs_coltman Messages postés 97 Date d'inscription jeudi 3 janvier 2008 Statut Membre Dernière intervention 10 février 2009 - 16 janv. 2009 à 14:47
bonjour,


je développe une petite appli en java qui a besoin de visualiser
certaines infos stockées dans une BD MS Access. j'ai créé donc une
classe qui me permet de me connecter à une base de donnée choisie par
l'utilisateur... Voici le code de ma classe :

publicclass Connection_Agent {
 
public String DBPath; //String that stores the database path
public Connection connection;

public Connection_Agent(String DBPath){

this.DBPath=DBPath;

}

/*
* This method is used to connect to the database whose path is given in the attribute DBPath
*/

publicboolean connect(){

try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(ClassNotFoundException e1){

System.out.println("Error : Problem with the ODBC Driver. "+e1.getMessage());
returnfalse;
 
}

String connectionstring="jdbc:odbc:Driver={Microsoft Access Driver(*.mdb)};DBQ="+DBPath;

try{

this.connection=DriverManager.getConnection(connectionstring);

}catch(SQLException e){

System.out.println("Error : Unable to connect to the Database. "+e.getMessage());
returnfalse;

}

returntrue;

}

/*
* This method is used to close the connection
*/

publicboolean disconnect(){

try{
this.connection.close();
}catch(SQLException e){
 
System.out.println("Error : Unable to close the connection");
 
}

returntrue;

}

}
 
 


voici ma classe de test qui me permet de voir si tout marche correctement :

 
publicclass TestClass {
 
/**
* @param args
*/
publicstaticvoid main(String[] args){
 

String path="C:/Data/meavy/workspace/db1.mdb";
Connection_Agent connection = new Connection_Agent(path);
System.out.println("Connexion créée?"+connection.connect());

}
 
}


J'ai en fait l'exception suivante :

[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

J'ai un peu cherché sur le net et j'ai vu que je n'ai pas fait une étape qui consistait à enregistrer ma base dans le DSN ... en faisant cela tout s'arrange sauf que le soucis c'est que mon programme doit être capable de se connecter à n'importe quelle base en choisissant le chemin de la base ... pouvez vous m índiquer comment faire dans ce cas ? faut- il executer une sorte de script ou quelque chose du genre à chaque fois que l'utilisateur choisit une base de données ?? Merci

3 réponses

cs_coltman Messages postés 97 Date d'inscription jeudi 3 janvier 2008 Statut Membre Dernière intervention 10 février 2009
16 janv. 2009 à 14:47
bon bon bon .... en relisant tranquillement mon code j'ai repéré mon erreur ... tout est rentré dans l'ordre j'avais uniquement oublié de me connecter à la base ... eh oui ... bon ...
3
cs_sekka Messages postés 26 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 24 janvier 2009
15 janv. 2009 à 11:00
bjr tt

la connection avec une b d en java besoin d'un driver qu'il faut ajouter comme lib de projet ensuite, configurer l ' odbc , si tu utlise windows.
0
cs_coltman Messages postés 97 Date d'inscription jeudi 3 janvier 2008 Statut Membre Dernière intervention 10 février 2009
15 janv. 2009 à 11:08
c'est à dire configurer l'odbc ?
0
Rejoignez-nous