Précédent   Forum des professionnels en informatique > Java > Général Java > JDBC
JDBC Forum d'entraide sur l'API JDBC (Java Database Connectivity) et l'accès aux bases de données. Avant de poster -> FAQ JDBC
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/11/2011, 18h19   #1
Invité de passage
 
Inscription : août 2008
Messages : 1
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 1
Points : 0
Points : 0
Par défaut Problème Driver sun.jdbc.odbc.JdbcOdbcDriver sous Linux

Bonjour à tous. Voilà, je me heurte à un problème. J'essaie de me connecter en Java sur une base de donnée DB2 à partir d'une Debian Squeeze.

J'ai développé mon programme sous Eclipse (sous Windows) et cela fonctionne très bien sous Windows via un pilote ODBC. J'ai donc installé un pilote ODBC sur ma Debian et j'ai testé celui-ci en PHP, il fonctionne très bien aussi. Or quand j'exporte mon programme JAVA, celui-ci me dit : java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver

Voici le code Java :

Code :
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
J'ai trouvé que cette classe (JdbcOdbcDriver) était implémenté dans le fichier rt.jar, j'ai donc essayé d'inclure ce .jar sur ma Debian via le CLASSPATH mais ça ne fonctionne toujours pas.

Auriez-vous une idée sur la marche à suivre car je suis totalement perdu ..?

Je vous remercie d'avance.

PARIS Matthieu
matthieu.parid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2012, 22h57   #2
Futur Membre du Club
 
Powered by Laom and Bethecu
Inscription : juin 2006
Messages : 79
Détails du profil
Informations professionnelles :
Activité : Powered by Laom and Bethecu

Informations forums :
Inscription : juin 2006
Messages : 79
Points : 17
Points : 17
Bonsoir,

je débute avec Java et j'ai moi aussi ce problème
"java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver"
avec ma distro Linux (Ubuntu Maverick 64 bits) alors un peu d'aide serait
la bienvenue...

A noter que mon appli, en connection avec une base Access 2003 a toujours
fonctionné sous Windows.

Le jar "rt.jar" est bien dans le path alors je sèche vraiment...

J'ai cru lire que changer d'IDE (au moins de version) pouvait avoir un effet (?),
et comme je suis passé d'Eclipse Helios à Eclipse Indigo + Birt je me demande
s'il y a quelque chose de ce côté là ???

Vous aurez remarqué tous les points d'interrogations...
Ylmith est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2012, 00h09   #3
Futur Membre du Club
 
Powered by Laom and Bethecu
Inscription : juin 2006
Messages : 79
Détails du profil
Informations professionnelles :
Activité : Powered by Laom and Bethecu

Informations forums :
Inscription : juin 2006
Messages : 79
Points : 17
Points : 17
Pas de problème de connection par contre avec une base MySQL. Il doit sans doute
manquer l'environnement nécessaire pour se connecter sur Access. Je pensais que c'était
possible même sous Linux, du moment qu'on ouvrait pas la base...
Je vérifie dès lundi (au travail) sous Windows...
Il me faudra juste créer des copies des tables de ma base Access dans la base MySQL,
de beaux scripts en perspective, à moins que je puisse récupérer ça en csv...
Pour l'instant je n'ai besoin que de tables réduites pour mener mon développement.

Merci à toutes les réponses et suggestions à venir...
Ylmith est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2012, 00h50   #4
Modérateur
 
Avatar de tchize_
 
Homme
Responsable de service informatique
Inscription : avril 2007
Messages : 16 196
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 32
Localisation : Belgique

Informations professionnelles :
Activité : Responsable de service informatique
Secteur : Service public

Informations forums :
Inscription : avril 2007
Messages : 16 196
Points : 25 345
Points : 25 345
Envoyer un message via MSN à tchize_ Envoyer un message via Skype™ à tchize_
Etes vous sur d'utiliser la JVM d'oracle sous linux, et non pas icedTea ou OpenJDK?
__________________
⥀⥁ Чиз faq java, cours java, javadoc. Pensez à et
"Votre génitrice tute des pédoncules au pandémonium" (le conjurateur, 1973)
tchize_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2012, 10h52   #5
Futur Membre du Club
 
Powered by Laom and Bethecu
Inscription : juin 2006
Messages : 79
Détails du profil
Informations professionnelles :
Activité : Powered by Laom and Bethecu

Informations forums :
Inscription : juin 2006
Messages : 79
Points : 17
Points : 17
Citation:
Envoyé par tchize_ Voir le message
Etes vous sur d'utiliser la JVM d'oracle sous linux, et non pas icedTea ou OpenJDK?
Quelle différence ? (question de newbie)
Ylmith est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2012, 13h04   #6
Modérateur
 
Avatar de tchize_
 
Homme
Responsable de service informatique
Inscription : avril 2007
Messages : 16 196
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 32
Localisation : Belgique

Informations professionnelles :
Activité : Responsable de service informatique
Secteur : Service public

Informations forums :
Inscription : avril 2007
Messages : 16 196
Points : 25 345
Points : 25 345
Envoyer un message via MSN à tchize_ Envoyer un message via Skype™ à tchize_
La différence est que le driver jdbc-odbc n'est pas standard. Les classes en sun.* ou oracle.* ne sont pas garanties d'être présentes sur toutes les jvms.
__________________
⥀⥁ Чиз faq java, cours java, javadoc. Pensez à et
"Votre génitrice tute des pédoncules au pandémonium" (le conjurateur, 1973)
tchize_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2012, 17h40   #7
Futur Membre du Club
 
Powered by Laom and Bethecu
Inscription : juin 2006
Messages : 79
Détails du profil
Informations professionnelles :
Activité : Powered by Laom and Bethecu

Informations forums :
Inscription : juin 2006
Messages : 79
Points : 17
Points : 17
Citation:
Envoyé par tchize_ Voir le message
La différence est que le driver jdbc-odbc n'est pas standard. Les classes en sun.* ou oracle.* ne sont pas garanties d'être présentes sur toutes les jvms.
Voila ce que j'ai trouvé sur ce site même :
Citation:
L'API JDBC est présente depuis la version 1.1 de Java (JDBC 1.0). En conséquence elle a connu plusieurs versions...La dernière version en date, JDBC 3.0, est disponible depuis février 2002. Elle fait partie intégrante de J2SE depuis la version 1.4....

JDBC 3.0 : depuis le JDK 1.4. Formée des packages java.sql, javax.sql et javax.sql.rowset
Je travaille avec java-6-openjdk (JavaSE-1.6) et les 3 packages figurent bien dans le rt.jar.

De plus OpenJDK étant une émanation semi-officielle d'Oracle pourquoi les standards Java ne seraient-ils pas respectés ? (Toujours en mode newbie).
Ylmith est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2012, 18h27   #8
Futur Membre du Club
 
Powered by Laom and Bethecu
Inscription : juin 2006
Messages : 79
Détails du profil
Informations professionnelles :
Activité : Powered by Laom and Bethecu

Informations forums :
Inscription : juin 2006
Messages : 79
Points : 17
Points : 17
Je crois que j'ai ma réponse :

Citation:
It's uncommon for an application running on Linux to access an MS Access database or use ODBC. ODBC is a windows technology. There are some options for linux, but it's not a common scenario.

As you've discovered, there are no Access ODBC drivers on your linux machine, so the JDBC-ODBC bridge fails.
http://stackoverflow.com/questions/5...ase-from-linux

Donc pas d'ODBC dans Linux et la seule solution serait d'acheter un driver payant ,
le moins cher étant aux alentours de 400 dollars ..Acheter à mes frais un driver? Evidemment que non!
Ylmith est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2012, 18h33   #9
Futur Membre du Club
 
Powered by Laom and Bethecu
Inscription : juin 2006
Messages : 79
Détails du profil
Informations professionnelles :
Activité : Powered by Laom and Bethecu

Informations forums :
Inscription : juin 2006
Messages : 79
Points : 17
Points : 17
Ok, je suis allé trop vite le premier driver est gratuit, je le teste et je reviens...
Ylmith est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2012, 03h40   #10
Modérateur
 
Avatar de tchize_
 
Homme
Responsable de service informatique
Inscription : avril 2007
Messages : 16 196
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 32
Localisation : Belgique

Informations professionnelles :
Activité : Responsable de service informatique
Secteur : Service public

Informations forums :
Inscription : avril 2007
Messages : 16 196
Points : 25 345
Points : 25 345
Envoyer un message via MSN à tchize_ Envoyer un message via Skype™ à tchize_
Citation:
Envoyé par Ylmith Voir le message
Voila ce que j'ai trouvé sur ce site même :


Je travaille avec java-6-openjdk (JavaSE-1.6) et les 3 packages figurent bien dans le rt.jar.

De plus OpenJDK étant une émanation semi-officielle d'Oracle pourquoi les standards Java ne seraient-ils pas respectés ? (Toujours en mode newbie).
Ne confondez pas le pont jdbc-odbc (qui est un driver propriétaire ne faisant pas partie du standard) et jdbc (qui est une api présente dans toutes les implémentations).
__________________
⥀⥁ Чиз faq java, cours java, javadoc. Pensez à et
"Votre génitrice tute des pédoncules au pandémonium" (le conjurateur, 1973)
tchize_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h49.


 
 
 
 
Partenaires

Hébergement Web