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 :

Erreur de connexion Sybase (No suitable driver)


Sujet :

JDBC Java

  1. #1
    Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Transports

    Informations forums :
    Inscription : Août 2011
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Erreur de connexion Sybase (No suitable driver)
    Bonjour,

    je travaille sur une application qui peut se connecter à différentes bases. Via le même code, je peux établir des connexion db2 et Sybase.
    Les connexions db2 sont bonnes, les connexions Sybase ne le sont pas.

    Voici la fonction où mon erreur est attrapée, à la ligne 16 "Probleme de connexion lors de l'utilisation du driver" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    private static Connection getConnectionDirect(
       DSObject dsObject,
       String user,
       String password)
       throws ConnectionDBException {
       if ((dsObject.getDriver() != null) && (dsObject.getUrl() != null)) {
          try {
             ClassLoader ContextClassLoader = Thread.currentThread().getContextClassLoader();
             ContextClassLoader.loadClass(dsObject.getDriver());    
          } catch (Exception e) {
             throw new ConnectionDBException("Pb d'instantiation de driver.",e);
          }      
          try {
             return  (java.sql.DriverManager.getConnection(dsObject.getUrl(), user, password));               
          } catch (Exception e) {
             throw new ConnectionDBException("Probleme de connexion lors de l'utilisation du driver",e);
          }
       }
       else {
          throw new ConnectionDBException("impossible de recuperer le driver ou l'url des parametres de connection");
       }
    }
    L'erreur se produit dans le DriverManager lors d'un appel à "Connection result = di.driver.connect(url, info);" où "di" est de type "DriverInfo".
    Les informations de connexion alors passées sont :
    - l'url, de type jdbc:sybase:Tds:<SERVEUR>:<PORT>/<BASE>
    - le login
    - le mot de passe

    L'attribut dsObject.driver fait référence à la classe "com.sybase.jdbc2.jdbc.SybDriver" qui est bien présente dans mon jconn2.jar.

    En parallèle, je réussis à me connecter à cette base via un dbvis et le même driver Sybase ASE (JConnect) jconn2.jar.

    Le message "no suitable driver" me laisse penser que mon application ne trouve pas ce driver, jconn2.jar.
    J'ai essayé de l'inclure en tant que jar externe, dans les web lib, dans les lib tomcat et en tant que user lib, à chaque fois j'arrive à la même erreur.

    Je ne pense pas que mon driver soit corrompu car il fonctionne très bien via dbvis. Seulement je suis à court d'idées et mes différentes recherches sur le net ne m'ont pas avancé.

    Si vous avez d'autres pistes...

    Merci,

    Pierre

  2. #2
    Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Transports

    Informations forums :
    Inscription : Août 2011
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Bonjour,

    en réponse à ceux qui rencontrerons ce problème.

    Dans ma DAOFactory Sybase, avant d'établir une connexion via le framework, j'ai ajouté ce bout de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    try {
       Class.forName("com.sybase.jdbc2.jdbc.SybDriver");
    } catch (ClassNotFoundException e1) {
       e1.printStackTrace();
    }
    Bien que l'utilisation du Class.forName me permette d'avancer, je pense que le problème est ailleurs.
    J'ai également une DAOFactory pour DB2 qui fonctionne très bien sans ce Class.forName. J'ai effectué pas mal de modifications de classpath sans succès, donc je vais me contenter de ca pour le moment.

    Pierre

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 31/08/2012, 09h23
  2. [PDO] Erreur de connexion : could not find driver
    Par Schnuffel dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 26/08/2009, 13h23
  3. Connexion JDBC et JNDI - Driver not suitable
    Par ginkas31 dans le forum JDBC
    Réponses: 1
    Dernier message: 04/02/2008, 17h14
  4. Connexion AS400 : No suitable Driver
    Par chico_du_33 dans le forum JDBC
    Réponses: 2
    Dernier message: 14/08/2007, 17h12
  5. Erreur de connexion avec Mysql -> Driver bugué
    Par kedare dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 07/02/2007, 08h47

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