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

Я создал локальную базу данных 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", который указывает, что нет никаких подключений к базе данных, насколько я понимаю.

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

1 Ответ

0 голосов
/ 08 апреля 2010

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

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

...