Схема базы данных Java не существует (netbeans 7)

Я создал базу данных java db, используя службы netbeans 7, я использовал встроенный драйвер java для подключения к java db. Я могу найти свою базу данных под соединением в базе данных java в схеме под названием ROOT.

Это мое имя соединения java db:

jdbc:derby:AddressBook [root on ROOT]

Но когда я пытаюсь использовать эту схему в своем проекте, я получаю исключение, в котором говорится

Caused by: ERROR 42Y07: Schema 'ROOT' does not exist
    at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
    at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.getSchemaDescriptor(Unknown Source)
                       .....

Ошибка появляется в операторе select. что я должен сделать, чтобы сделать его читаемым в проекте?

Это мой код:

private static final String URL = "jdbc:derby:AddressBook";
   private static final String USERNAME = "root";
   private static final String PASSWORD = "cs101";

   private Connection connection = null; // manages connection
   private PreparedStatement selectAllPeople = null; 
   private PreparedStatement selectPeopleByLastName = null; 
   private PreparedStatement insertNewPerson = null; 

   // constructor
   public PersonQueries()
   {
      try 
      {
         connection = 
            DriverManager.getConnection( URL, USERNAME, PASSWORD );

         // create query that selects all entries in the AddressBook
         selectAllPeople = 
            connection.prepareStatement( "SELECT * FROM ROOT.Addresses" )

person engma    schedule 09.02.2012    source источник
comment
Попробуйте Addresses вместо ROOT.Addresses.   -  person Viruzzo    schedule 09.02.2012
comment
Адреса были моим начальным, но затем я изменил его на ROOT.Addresses, надеясь, что он сможет его прочитать.   -  person engma    schedule 09.02.2012


Ответы (3)


Попробуйте ввести этот код перед созданием соединения

Class.forName("org.apache.derby.jdbc.ClientDriver")
person Petr Mensik    schedule 09.02.2012
comment
Скорее всего, встроенный драйвер, а не драйвер клиента, поскольку синтаксис URL-адреса в исходном сообщении является встроенным, а не клиентским синтаксисом. - person Bryan Pendleton; 10.02.2012

при использовании встроенного derby nb поместил вашу базу данных в определенное место. в моей установке NB 7.2 по умолчанию используется: C:\Users\James.netbeans-derby. вам нужно убедиться, что ваше приложение читает один и тот же файл базы данных, установив свойство derby home:

System.setProperty("derby.system.home", "C:\Users\James\.netbeans-derby");

или вот так:

System.setProperty("derby.system.home", 
    System.getProperty("user.home")+".netbeans-derby");

Удачи!

person simgineer    schedule 01.09.2012

Получите полный URL-адрес из свойств базы данных Derby и установите соединение для решения проблемы.

person Thayalan    schedule 21.08.2017