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" :
L'erreur se produit dans le DriverManager lors d'un appel à "Connection result = di.driver.connect(url, info);" où "di" est de type "DriverInfo".
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"); } }
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
Partager