Проблема с подключением к Apache Derby с использованием файла конфигурации Hibernate в Netbeans (ОШИБКА XSDB6)

Я создал локальную базу данных Apache Derby в Netbeans, но у меня возникают проблемы при попытке автоматического создания файлов POJO с помощью «Мастера обратного проектирования Hibernate».

Моя конфигурация Hibernate (сгенерированная Netbeans из подключения к базе данных, затем я добавил несколько битов):

<?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>

Когда я пытаюсь сгенерировать POJO с помощью этого файла конфигурации, я получаю сообщение о проверке моего файла конфигурации, а derby.log выдает ошибки:

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.

Я закрыл все другие подключения к базе данных, прежде чем пытаться это сделать, и в то время не было файла блокировки «db.lck», что указывает на отсутствие подключений к базе данных, насколько я понимаю.

У кого-нибудь есть идеи? Помощь принята с благодарностью.


person me_here    schedule 08.04.2010    source источник


Ответы (1)


Derby действительно использует «файл блокировки» для записи, когда база данных активно открыта процессом. Вы уверены, что файла db.lck нет? Я никогда не видел это сообщение, кроме как в этом случае.

В качестве эксперимента, что произойдет, если вы удалите C: из вашего URL-адреса jdbc и просто используете jdbc:derby:/CerealDatabase в качестве URL-адреса?

person Bryan Pendleton    schedule 08.04.2010