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

Hibernate Java Discussion :

java.sql.SQLException: No suitable driver found


Sujet :

Hibernate Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 37
    Points : 28
    Points
    28
    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 ?

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 37
    Points : 28
    Points
    28
    Par défaut
    d'ailleurs, j'ai essayé avec le jar pour la version 9.2.0.5, et j'ai la même trace

  3. #3
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Points : 4 314
    Points
    4 314
    Par défaut
    Pour Oracle, tu peux éventuellement essayer de t'en sortir avec le driver générique "classes12.jar", que tu trouveras en faisant une recherche
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  4. #4
    Membre expérimenté Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Points : 1 639
    Points
    1 639
    Par défaut
    Et les drivers, tu les as bien mis dans le classpath de ton application?

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 37
    Points : 28
    Points
    28
    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    <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 : Sélectionner tout - Visualiser dans une fenêtre à part
    hibernate.connection.url = jdbc:oracle:thin:@my.server.fr:1521:MYSID
    mais, là, soucis de dialecte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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)

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 37
    Points : 28
    Points
    28
    Par défaut
    il s'agit d'un soucis de nom de driver : il faut remplacer sf.net.hibernate par org.hibernate

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    hibernate.dialect = net.sf.hibernate.dialect.Oracle9Dialect
    devient
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    hibernate.dialect = org.hibernate.dialect.Oracle9Dialect
    c'est tout simple, mais la plupart des tutos sur le web ne sont pas à jour !

    cf http://www.gridlab.org/pipermail/gri...er/002789.html

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 31/08/2012, 09h23
  2. Réponses: 3
    Dernier message: 27/05/2012, 13h25
  3. Réponses: 1
    Dernier message: 04/06/2008, 23h22
  4. java.sql.SQLException: No suitable driver
    Par lunart dans le forum JDBC
    Réponses: 17
    Dernier message: 09/06/2006, 11h54
  5. Réponses: 5
    Dernier message: 12/12/2005, 13h13

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