IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JDBC Java Discussion :

Problème Driver sun.jdbc.odbc.JdbcOdbcDriver sous Linux


Sujet :

JDBC Java

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 1
    Points : 1
    Points
    1
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Membre régulier Avatar de Ylmith
    Profil pro
    Powered by Laom and Bethecu
    Inscrit en
    Juin 2006
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Powered by Laom and Bethecu

    Informations forums :
    Inscription : Juin 2006
    Messages : 140
    Points : 78
    Points
    78
    Par défaut
    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...

  3. #3
    Membre régulier Avatar de Ylmith
    Profil pro
    Powered by Laom and Bethecu
    Inscrit en
    Juin 2006
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Powered by Laom and Bethecu

    Informations forums :
    Inscription : Juin 2006
    Messages : 140
    Points : 78
    Points
    78
    Par défaut
    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...

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Etes vous sur d'utiliser la JVM d'oracle sous linux, et non pas icedTea ou OpenJDK?

  5. #5
    Membre régulier Avatar de Ylmith
    Profil pro
    Powered by Laom and Bethecu
    Inscrit en
    Juin 2006
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Powered by Laom and Bethecu

    Informations forums :
    Inscription : Juin 2006
    Messages : 140
    Points : 78
    Points
    78
    Par défaut
    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)

  6. #6
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    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.

  7. #7
    Membre régulier Avatar de Ylmith
    Profil pro
    Powered by Laom and Bethecu
    Inscrit en
    Juin 2006
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Powered by Laom and Bethecu

    Informations forums :
    Inscription : Juin 2006
    Messages : 140
    Points : 78
    Points
    78
    Par défaut
    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 :
    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).

  8. #8
    Membre régulier Avatar de Ylmith
    Profil pro
    Powered by Laom and Bethecu
    Inscrit en
    Juin 2006
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Powered by Laom and Bethecu

    Informations forums :
    Inscription : Juin 2006
    Messages : 140
    Points : 78
    Points
    78
    Par défaut
    Je crois que j'ai ma réponse :

    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!

  9. #9
    Membre régulier Avatar de Ylmith
    Profil pro
    Powered by Laom and Bethecu
    Inscrit en
    Juin 2006
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Powered by Laom and Bethecu

    Informations forums :
    Inscription : Juin 2006
    Messages : 140
    Points : 78
    Points
    78
    Par défaut
    Ok, je suis allé trop vite le premier driver est gratuit, je le teste et je reviens...

  10. #10
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    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).

Discussions similaires

  1. Réponses: 9
    Dernier message: 26/11/2014, 13h35
  2. Réponses: 7
    Dernier message: 08/07/2014, 10h55
  3. Emplacement du driver sun.jdbc.odbc.JdbcOdbcDriver
    Par new_wave dans le forum Débuter
    Réponses: 3
    Dernier message: 11/06/2012, 13h28
  4. Réponses: 1
    Dernier message: 06/12/2006, 14h55
  5. Réponses: 11
    Dernier message: 14/02/2006, 00h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo