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

JPA Java Discussion :

Problème de DDL et hibernate tools


Sujet :

JPA Java

  1. #1
    Membre éclairé Avatar de sofien
    Inscrit en
    Février 2005
    Messages
    325
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Février 2005
    Messages : 325
    Par défaut Problème de DDL et hibernate tools
    Bonjour, j'utilise un script ant-hibernate.xml pour générer le fichier ddl et créer la base de données.
    Je vous montre une partie car c'est elle la responsable du génération

    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
    23
    24
    <!-- Générer le schéma de la base -->
    	<target name="DDL" depends="compile, copyconf" description="Génération DDL base">
     
    		<hibernatetool destdir="${basedir}">
    			<classpath path="${build.dir}" />
    			<!-- Utiliser META-INF/persistence.xml -->
    			<jpaconfiguration />
    			<!-- export -->
    			<!-- export : false i-e on n'a pas besoin d'avoir une connexion au SGBD -->
    			<hbm2ddl drop="true" create="true" export="true" outputfilename="ddl/schema.sql" delimiter=";" format="true" />
    		</hibernatetool>
    	</target>
     
    	<!-- Générer la base -->
    	<target name="BD" depends="compile, copyconf" description="Génération BD">
     
    		<hibernatetool destdir="${basedir}">
    			<classpath path="${build.dir}" />
    			<!-- Utiliser META-INF/persistence.xml -->
    			<jpaconfiguration />
    			<!-- export -->
    			<hbm2ddl drop="true" create="true" export="true" outputfilename="ddl/schema.sql" delimiter=";" format="true" />
    		</hibernatetool>
    	</target>
    et voiçi mon fichier persistance.xml

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    <?xml version="1.0" encoding="UTF-8"?>
    <persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence">
    <!-- L'application gère elle-même les transactions avec le SGBD avec RESOURCE_LOCAL -->
    <!-- Sinon si avec conteneur EJB3, alors l'attribut sera JTA qui est la valeur par défaut -->
    	<persistence-unit name="jpa" transaction-type="RESOURCE_LOCAL">
    		<!--  provider -->
    		<provider>org.hibernate.ejb.HibernatePersistence</provider>
    		<properties>
    			<!-- Classes persistantes -->
    			<property name="hibernate.archive.autodetection" value="class, hbm" />
    			<!-- logs SQL
    				<property name="hibernate.show_sql" value="true"/>
    				<property name="hibernate.format_sql" value="true"/>
    				<property name="use_sql_comments" value="true"/>
    			-->
    			<!-- connexion JDBC -->
    			<property name="hibernate.connection.driver_class" value="com.microsoft.sqlserver.jdbc.SQLServerDriver" />
    			<property name="hibernate.connection.url" value="jdbc:sqlserver://localhost:1433;databaseName=jpa" />
    			<property name="hibernate.connection.username" value="jpa" />
    			<property name="hibernate.connection.password" value="jpatutoriel" />
    			<!--  création automatique du schéma -->
    			<property name="hibernate.hbm2ddl.auto" value="create" />
    			<!-- Dialecte -->
    			<property name="hibernate.dialect" value="org.hibernate.dialect.SQLServerDialect" />
    			<!--  propriétés DataSource c3p0 -->
    			<property name="hibernate.c3p0.min_size" value="5" />
    			<property name="hibernate.c3p0.max_size" value="20" />
    			<property name="hibernate.c3p0.timeout" value="300" />
    			<property name="hibernate.c3p0.max_statements" value="50" />
    			<property name="hibernate.c3p0.idle_test_period" value="3000" />
    		</properties>
    	</persistence-unit>
    </persistence>
    Et j'ai l'exception suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Error #1: java.sql.SQLException: Connections could not be acquired from the underlying database!
    En fait, le fichier shema.sql généré est de taille 0 mais je l'ai remplacé par un déja prét mais de même

  2. #2
    Membre éclairé Avatar de sofien
    Inscrit en
    Février 2005
    Messages
    325
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Février 2005
    Messages : 325
    Par défaut
    J'aimerai bien connaitre la raison car je suis bloqué là

  3. #3
    Membre Expert
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 963
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 963
    Par défaut
    Citation Envoyé par sofien Voir le message
    J'aimerai bien connaitre la raison car je suis bloqué là
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <property name="hibernate.connection.url" value="jdbc:sqlserver://localhost:1433;databaseName=jpa" />
    un point virgule qui n'a rien à faire là…

  4. #4
    Membre éclairé Avatar de sofien
    Inscrit en
    Février 2005
    Messages
    325
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Février 2005
    Messages : 325
    Par défaut
    Citation Envoyé par JeitEmgie Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <property name="hibernate.connection.url" value="jdbc:sqlserver://localhost:1433;databaseName=jpa" />
    un point virgule qui n'a rien à faire là…
    Salut, le point virgule est nécessaire ... je l'ai supprimé et refait mais rien ...

  5. #5
    Membre Expert
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 963
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 963
    Par défaut
    Citation Envoyé par sofien Voir le message
    Salut, le point virgule est nécessaire ... je l'ai supprimé et refait mais rien ...
    soit, mais l'erreur reportée ne peut provenir - en gros - que de :

    - url incorrect (j'ai déjà vu le ";param=value" dans des jdbc:odbc:… mais pas encore sous la forme que vous présentez… je m'attendrais plutôt à voir ici la forme ?param1=value1[&param2=value2…])

    - login incorrect

    - serveur non ou mal configuré pour les connections distantes…

    - problème de réseau (pas de chemin entre le client et le serveur, firewall entre les 2, …)


    première chose à vérifier : pouvez-vous vous connecter au serveur avec un outil d'admin ?

  6. #6
    Membre éclairé Avatar de sofien
    Inscrit en
    Février 2005
    Messages
    325
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Février 2005
    Messages : 325
    Par défaut
    oui je peux à travers "managment console" et j'ai déja testé avant avec JBOSS dans un exemple de EJB sans hibernate et ca a marché avec même connection url. J'ai aussi activé les connections distants utilisant le port 1433...

  7. #7
    Membre Expert
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 963
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 963
    Par défaut
    Citation Envoyé par sofien Voir le message
    oui je peux à travers "managment console" et j'ai déja testé avant avec JBOSS dans un exemple de EJB sans hibernate et ca a marché avec même connection url. J'ai aussi activé les connections distants utilisant le port 1433...
    (oui évidemment en localhost… c'est pas un prob de réseau…)

    vous avez essayé :

    jdbc:sqlserver://localhost:1433/jpa

    ?

    et aussi :

    vous êtes certain que le persitence.xml que vous éditez est bien celui qui est utilisé par hibernate ? (un IDE - ou une config de build - mal paramétré peut générer ce genre de gag…)

  8. #8
    Membre éclairé Avatar de sofien
    Inscrit en
    Février 2005
    Messages
    325
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Février 2005
    Messages : 325
    Par défaut
    Oui je suis sûre car hibernate cherche le fichier persistence.xml dans le répertoire META-INF qui doit être dans le classpath du projet.
    Pour le connection url, elle doit être comme suit :
    jdbc:sqlserver://localhost:1433;databaseName=jpa

  9. #9
    Membre éclairé Avatar de sofien
    Inscrit en
    Février 2005
    Messages
    325
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Février 2005
    Messages : 325
    Par défaut
    J'ai résolu le problème du connexion à la base mais il reste le problème du fait que le fichier généré "shema.sql" est de taille zéro.

  10. #10
    Membre Expert
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 963
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 963
    Par défaut
    Citation Envoyé par sofien Voir le message
    J'ai résolu le problème du connexion à la base mais il reste le problème du fait que le fichier généré "shema.sql" est de taille zéro.
    le login donne accès aux meta data de la database ?

    (vous avez créé la db sous le login utilisé dans persistence.xml ou celui de l'admin ?)

  11. #11
    Membre éclairé Avatar de sofien
    Inscrit en
    Février 2005
    Messages
    325
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Février 2005
    Messages : 325
    Par défaut
    Pardonnez moi pour le retard, j'avais pas de connexion. En fait je l'ai crée avec l'utilisateur sa puis j'ai ajouté laccés à jpa...

  12. #12
    Membre Expert
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 963
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 963
    Par défaut
    Citation Envoyé par sofien Voir le message
    Pardonnez moi pour le retard, j'avais pas de connexion. En fait je l'ai crée avec l'utilisateur sa puis j'ai ajouté laccés à jpa...
    vérifié que l'utilisateur jpa a bien accès aux méta-données de la base…

    l'accès aux tables de la DB ne suffit pas…

  13. #13
    Membre éclairé Avatar de sofien
    Inscrit en
    Février 2005
    Messages
    325
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Février 2005
    Messages : 325
    Par défaut
    Comment le faire au juste ?

  14. #14
    Membre éclairé Avatar de sofien
    Inscrit en
    Février 2005
    Messages
    325
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Février 2005
    Messages : 325
    Par défaut
    En fait, Mr Serge dit que ca doit marcher dans son tutoriel donc il se peut que quelque chose m'échappe ...

  15. #15
    Nouveau candidat au Club
    Inscrit en
    Novembre 2005
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 2
    Par défaut
    Salut a tous,

    J'etais exactement dans le meme cas (fichier schema.sql genere de 0 ko) lors du tres bon tutoriel http://tahe.developpez.com/java/jpa/.

    La solution (cf. http://www.developpez.net/forums/sho...hlight=generer) est de ne pas utiliser d'espace dans le path du projet (e.g. mettre le projet dans C:\jpa\personnes-entites)

    Merci,

  16. #16
    Invité de passage
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1
    Par défaut
    Hmmm meme probleme, j'ai creer un nouveau dossier pour qu'il n'y ai aps d'espace dans le path, malheureusement je n'ai toujours rien dans le schema.sql

    edit: non en fait j'ai pas réussi a changer le projet de place, comment faire?

  17. #17
    Membre habitué
    Inscrit en
    Juillet 2011
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juillet 2011
    Messages : 12
    Par défaut
    Bonjour,
    J'ai eu le meme problème que vous :
    Error #1: java.sql.SQLException: Connections could not be acquired from the underlying database!
    POuvez-vous me dire SVp comment vous l'avez résolu?
    Merci

Discussions similaires

  1. Problème d'installation d'Hibernate Tools
    Par abdousoft dans le forum Eclipse
    Réponses: 3
    Dernier message: 02/08/2012, 11h04
  2. Problème d'installation de Hibernate Tools sous WebSphere 7
    Par menzlitsh dans le forum Eclipse Java
    Réponses: 0
    Dernier message: 21/10/2008, 16h54
  3. [Hibernate Tools]Problème de génération de code !
    Par Kevin12 dans le forum Hibernate
    Réponses: 2
    Dernier message: 05/02/2008, 12h28
  4. Problème avec le plugin Hibernate tools
    Par euyeusu dans le forum Hibernate
    Réponses: 1
    Dernier message: 08/10/2007, 12h46
  5. Réponses: 1
    Dernier message: 14/02/2007, 10h48

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