2010-04-08 13 views
1

J'ai créé une base de données Apache Derby locale dans NetBeans, mais j'ai des problèmes lorsque j'essaie de générer automatiquement les fichiers POJO en utilisant l'assistant "Hibernate Reverse Engineering" ".Problème de connexion à Apache Derby à l'aide du fichier de configuration Hibernate dans Netbeans (ERREUR XSDB6)

Ma configuration Hibernate (générée par Netbeans de la connexion de base de données, alors j'ajouté quelques bits):

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> 
<hibernate-configuration> 
    <session-factory> 
<!-- Default Netbeans generated parameters --> 
    <property name="hibernate.connection.driver_class">org.apache.derby.jdbc.EmbeddedDriver</property> 
    <property name="hibernate.connection.url">jdbc:derby:C:/CerealDatabase</property> 
    <property name="hibernate.connection.username">cerealuser</property> 
    <property name="hibernate.connection.password">cerealpass</property> 
<!-- Additional parameters --> 
<property name="hibernate.dialect">org.hibernate.dialect.DerbyDialect</property> 
<property name="hibernate.show_sql">true</property> 
<property name="hibernate.default_schema">CEREALUSER</property> 
    </session-factory> 
</hibernate-configuration> 

Lorsque je tente de générer les POJO en utilisant ce fichier de configuration, je reçois le message pour vérifier mon fichier de configuration et le derby.log donne les erreurs:

java.sql.SQLException: Failed to start database 'C:/CerealDatabase', see the next exception for details. 
Caused by: java.sql.SQLException: Failed to start database 'C:/CerealDatabase', see the next exception for details. 
Caused by: ERROR XSDB6: Another instance of Derby may have already booted the database C:\CerealDatabase. 

J'ai fermé toute autre connexion à la base de données avant d'essayer cela, et il n'y a pas de verrouiller le fichier « db.lck » à l'époque, ce qui indique il n'y a pas de connexions à la base de données que je comprends .

Quelqu'un a-t-il des idées? Aide avec reconnaissance.

Répondre

0

Derby utilise en effet un "fichier de verrouillage" pour enregistrer lorsque la base de données est activement ouverte par un processus. Êtes-vous sûr qu'il n'y a pas de fichier db.lck? Je n'ai jamais vu ce message sauf dans ce cas. Que se passe-t-il si vous supprimez le C: de votre URL jdbc et que vous utilisez juste jdbc: derby:/CerealDatabase comme URL?