java.sql.SQLException: No suitable driver found
Bonjour,
je travaille avec une base Oracle 9 distance et je ne parviens pas à m'y connecter :
voici mon Hibernate.properties :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| hibernate.connection.driver_class = oracle.jdbc.OracleDriver
hibernate.connection.url = my.server.fr:1521:MYSID
hibernate.connection.username = gogogo
hibernate.connection.password = coucou
# oracle 9/10 dialect
hibernate.dialect = net.sf.hibernate.dialect.Oracle9Dialect
hibernate.transaction.factory_class = net.sf.hibernate.transaction.WeblogicTransactionManagerLookup
hibernate.show_sql = false
hibernate.use_outer_join = true
jta.UserTransaction = java:comp/UserTransaction
# sequences
hbm2ddl.auto = false |
et la trace qui en suit :
Code:
1 2 3 4 5 6 7 8 9 10
|
31 juil. 2007 15:42:12 org.hibernate.cfg.SettingsFactory buildSettings
ATTENTION: Could not obtain connection metadata
java.sql.SQLException: No suitable driver found for my.server.fr:1521:MYSID
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at org.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:110)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:84)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2009)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1292) |
le code java qui l'appelle est :
Code:
1 2 3 4 5 6 7 8
| SessionFactory factory = new Configuration().configure()
.buildSessionFactory();
Session session = factory.openSession();
Transaction tc = session.beginTransaction();
// do some update
tc.commit(); |
J'ai bien le driver JDBC dans mon classpath, merci maven. extrait du POM :
Code:
1 2 3 4 5 6 7 8 9 10 11
| <dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate</artifactId>
<version>3.2.4.sp1</version>
</dependency>
<dependency>
<!-- oracle driver : ojdbc14.jar -->
<groupId>oracle</groupId>
<artifactId>ojdbc</artifactId>
<version>9.0.2.0.0</version>
</dependency> |
J'ai téléchargé le driver pour Oracle9i 9.2.0.8 JDBC Drivers sur la page dédiée chez Oracle. Mon Oracle est la version 9.2.0.7 et les seuls téléchargements disponibles sont pour 9.2.0.5 et 9.2.0.8
Code:
1 2
| SQL*Plus: Release 9.2.0.7.0 - Production on Tue Jul 31 15:53:27 2007
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. |
Mon URL est correcte, car sous oracle elle doit être de la forme serveur:port:SID et c'est bien le cas.
Les valeurs serveur:port:SID sont également OK car ce sont celles utilisées par le sublime outil (gratuit) fourni par Oracle (Oracle SQL Developper) et je peux aisément travailler avec ma BDD distante.
Bref, je ne sais plus comment faire...
Une idée ?
Dialect class not found: net.sf.hibernate.dialect.Oracle9Dialect
Citation:
Envoyé par CyberChouan
Pour Oracle, tu peux éventuellement essayer de t'en sortir avec le driver générique "classes12.jar"
d'après le site d'oracle, le driver générique "classes12.jar" est pour les JDK 1.2 & 1.3. Je suis en 1.4.
Citation:
Envoyé par willoi
Et les drivers, tu les as bien mis dans le classpath de ton application?
oui oui, merci Maven !
Code:
<classpathentry kind="var" path="M2_REPO/oracle/ojdbc/9.0.2.0.0/ojdbc-9.0.2.0.0.jar"/>
Bon, j'ai avancé un peu en ... modifiant l'url de connexion : il faut qu'elle commence par jdbc:oracle:thin:@ :
Code:
hibernate.connection.url = jdbc:oracle:thin:@my.server.fr:1521:MYSID
mais, là, soucis de dialecte :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| 31 juil. 2007 16:13:29 org.hibernate.cfg.SettingsFactory buildSettings
INFO: RDBMS: Oracle, version: Oracle9i Enterprise Edition Release 9.2.0.7.0 - 64bit Production
JServer Release 9.2.0.7.0 - Production
31 juil. 2007 16:13:29 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC driver: Oracle JDBC driver, version: 9.2.0.8.0
Exception in thread "main" org.hibernate.HibernateException: Dialect class not found: net.sf.hibernate.dialect.Oracle9Dialect
at org.hibernate.dialect.DialectFactory.buildDialect(DialectFactory.java:81)
at org.hibernate.dialect.DialectFactory.buildDialect(DialectFactory.java:42)
at org.hibernate.cfg.SettingsFactory.determineDialect(SettingsFactory.java:426)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:128)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2009)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1292) |