Connecter base Access à Java

Fermé
corentin.93 Messages postés 1737 Date d'inscription dimanche 20 mai 2007 Statut Membre Dernière intervention 19 décembre 2015 - 16 févr. 2012 à 13:23
 xloadx - 12 mai 2014 à 23:55
Bonjour,

J'ai un souci lorsque je veux me connecter à une base de données faite avec Access, dont le format est .accdb, avec Java, via l'ODBC.

En effet, lorsque j'utilise le code ci-dessous, une exception est levée à la deuxième ligne du try, donc je suppose qu'il y a un souci au niveau de l'url, mais je ne vois pas lequel...
La base de donnée est enregistrée dans l'ODBC de windows sous le nom test

public static void main(String[] args) throws ClassNotFoundException, SQLException{
Connection con = null;

String url = "jdbc:odbc:test";
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection(url,"","");
Statement req = (Statement) con.createStatement();
ResultSet resultatDest = req.executeQuery("select OP from Principale");


}
catch(Exception e) { System.out.println("Exception"); }

}
A voir également:

5 réponses

geniusccm Messages postés 8 Date d'inscription mardi 8 novembre 2011 Statut Membre Dernière intervention 23 octobre 2012 1
24 févr. 2012 à 14:29
Salut, pour le format ".accdb" j'y ignore comment faire mais sinon pour le ".mdb" (Ms access 2003) voici un source:

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


public class Main {

	public static void main(String[] args) throws ClassNotFoundException, SQLException{
		Connection con = null;

		String url = "jdbc:odbc:DRIVER=Microsoft Access Driver (*.mdb); DBQ=test.mdb";
		try
		{
		Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
		con = DriverManager.getConnection(url,"","");
		Statement req = (Statement) con.createStatement();
		ResultSet resultatDest = req.executeQuery("select OP from Principale");


		}
		catch(Exception e) { System.out.println(e.toString()); }

		}

}

Tu peux tjrs convertir ta BDD en MS 2003 avec Ms office access 2007, ...
0
leen.net Messages postés 212 Date d'inscription lundi 31 janvier 2011 Statut Membre Dernière intervention 14 mai 2014 13
25 févr. 2012 à 16:48
moi j'ai le même problème,
j'ai essaye le code que geniusccm a ecrit mais ...... quelle est la faute?

import java.sql.*;

public class db {
    public static void main(String[] args) throws ClassNotFoundException, SQLException{
        Connection con =null;
        String url= "jdbc:odbc:DRIVER=Microsoft Access Driver (*.mbd); DBQ= learn.mbd";
        try
		{
		Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
		con = DriverManager.getConnection(url,"","");
		Statement req = (Statement) con.createStatement();
		ResultSet resultatDest = req.executeQuery("select ID from essai");


		}
		catch(Exception e) { System.out.println(e.toString()); }

		}
}


et c'est le résultat:
java.sql.SQLException: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
BUILD SUCCESSFUL (total time: 2 seconds)
0
geniusccm Messages postés 8 Date d'inscription mardi 8 novembre 2011 Statut Membre Dernière intervention 23 octobre 2012 1
25 févr. 2012 à 17:46
Salut leen.net,
Le problème avec ton code est au niveau de l'extension du nom de ta BDD dans le String de l'url; tu as écrit "learn.mbd" au lieu de "learn.mdb".
0
leen.net Messages postés 212 Date d'inscription lundi 31 janvier 2011 Statut Membre Dernière intervention 14 mai 2014 13
25 févr. 2012 à 21:55
oui tu as raison,
mais il m'affiche encore ce message d'erreur:
java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Could not find file '(unknown)'.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Même le sujet n'est plus d'actualité, voilà comment il faut formuler le chemin vers la base de données.

Exemple:


String URL = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=N:\\ESPACE DE TRAVAIL\\Dossier Contenant La Base\\BaseExemple.mdb";


Faites bien attention aux slashes doublés surtout c'est important !!!!!!
0