Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 16/04/2009, à 03:18

Grummfy

[java]odbc (jdbc) et mbd (fichier access)

hello,
je doit utiliser odbc en java pour accéder à une base de donnée access (fichier local).

cependant lorsque je test mon code j'ai une erreur :

		Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
		String url= "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=/media/data/my_documents/grummfy/Ecole/ti/ti2/java/labo/java0809/data/IntervMaint.mdb";
		Connection con = DriverManager.getConnection(url);

java.sql.SQLException: [unixODBC][Driver Manager]Data source name not found, and no default driver specified
    at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6957)
    at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114)
    at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(JdbcOdbc.java:3073)
    at sun.jdbc.odbc.JdbcOdbcConnection.initialize(JdbcOdbcConnection.java:323)
    at sun.jdbc.odbc.JdbcOdbcDriver.connect(JdbcOdbcDriver.java:174)
    at java.sql.DriverManager.getConnection(DriverManager.java:582)
    at java.sql.DriverManager.getConnection(DriverManager.java:207)

je sais que le problème est lié à linux car sous windows cela fonctionnait (enfin normalement).

Donc, fichier de configuration :
/etc/odbc.ini

[TEST]
Description = test
Driver = Microsoft Access Driver (*.mdb)
Database = /home/grummfy/Documents/Ecole/ti/ti2/java/labo/java0809/data/IntervMaint.mdb
Server = localhost
Username = ""
Password = ""

=> test concluant avec openoffice.

/etc/odbcinst.ini

[SQLite]
Description        = SQLite ODBC Driver
Driver        = /usr/lib/odbc/libsqliteodbc.so
Setup        = /usr/lib/odbc/libsqliteodbc.so
UsageCount        = 1

[SQLite3]
Description        = SQLite3 ODBC Driver
Driver        = /usr/lib/odbc/libsqlite3odbc.so
Setup        = /usr/lib/odbc/libsqlite3odbc.so
UsageCount        = 1

[MySQL]
Description        = MySQL Driver
Driver        = /usr/lib/odbc/libmyodbc.so
Setup        = /usr/lib/odbc/libmyodbc.so
FileUsage        = 1

[Microsoft Access Driver (*.mdb)]
Description        = Microsoft Access Driver (*.mdb)
Driver        = /usr/lib/libmdbodbc.so.0
Setup        = /usr/lib/libmdbodbc.so.0
UsageCount        = 2

j'ai rempli les fichiers de configuration un peu au hasard n'ayant pas trouver de doc un peu correcte (et surtout clair) sur le sujet


Grummfy, le seul, l'unique !

Hors ligne

#2 Le 17/04/2009, à 16:54

Grummfy

Re : [java]odbc (jdbc) et mbd (fichier access)

up?


Grummfy, le seul, l'unique !

Hors ligne

#3 Le 31/07/2010, à 02:04

nassertom

Re : [java]odbc (jdbc) et mbd (fichier access)

Bonjour,

As tu trouvé une solution pour ton problème ?

j'ai la même chose pour un programme que j'ai développé en Java qui fonctionne sous Windob mais pas sous linux !!!

Je sais que vouloir utiliser une base accèss sous linux est stupide mais je n'ai pas le choix car ceux qui exploite les données sont sous Windows ...

D'avance merci,
Cordialement


C'est la plus radicale manière d'anéantir tout discours que d'isoler chaque chose de tout le reste; car c'est par la mutuelle combinaison des formes que le discours nous est né.
[ Le Sophiste, 259e ]

Hors ligne

#4 Le 31/08/2010, à 13:38

ninjapiza

Re : [java]odbc (jdbc) et mbd (fichier access)

Une amorce de solution:
- /etc/odbcinst.ini:

[MicrosoftAccessDriverODBC]
Description		= Microsoft Access Driver ODBC
Driver		= /usr/lib/libmdbodbc.so.0.0.0
Driver64		= 
Setup		= /usr/lib/libmdbodbc.so.0.0.0
Setup64		= 
UsageCount		= 1
CPTimeout		= 
CPReuse		=

- /etc/odbc.ini:

[baseAccessExample]
Description		= Base Access
Driver		= MicrosoftAccessDriverODBC
Database		= /home/_user_/fichier_access.mdb

Et en java:

import java.sql.Connection;
import java.sql.Driver;

(...)

    public static Connection getConnection() throws Exception {
        Driver d = (Driver) Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
        Connection connection = DriverManager.getConnection("jdbc:odbc:baseAccessExample");
        return connection;
    }

Sources:
- http://eric.quinton.free.fr/spip.php?article14

Dernière modification par ninjapiza (Le 31/08/2010, à 13:41)

Hors ligne