2014-09-24 2 views
0

Я прочитал много постов как: querying embedded database in netbeans using derbyJava Netbeans База данных Derby для встроенной системной дилемы: создать базу данных с Netbeans или с кодом?

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

1) Я создаю базу данных Derby на Netbeans, и я могу создавать таблицы, связывать базу данных с формой и отправлять данные и обновлять записи без проблем.

2) Проблема возникает, когда я хочу сделать программу переносной. Я применяю Clean и Build, затем копирую папку dist, а также копирую библиотеки, базу данных и т. Д., Но при запуске программы не распознается база данных

3) Я прочитал в нескольких местах, что подходит, что база данных создается с помощью кода, используя что-то вроде

Строка хост = "JDBC: дерби: // локальный: 1527/EmployeesCreateTrue, создать = истина"

и не создает базу данных по Netbeans службы ...

Если я делаю эту процедуру с кодом, база данных создается, но она не появляется или не позволяет мне сотрудничать nnect from NetBeans, и я хотел бы исправить его для создания таблиц из NetBeans, а не из кода.

4) Я прочитал руководства «как импортировать базу данных из Дерби в NetBeans», и это не работает ...

Вопрос: Что является лучшим способом для создания базы данных, таблицы и подключения к NetBeans для окончательного приложения может быть легко переносимым?

1) Создайте базу данных на Netbeans с помощью wizzard?

или

2) Попросту код на приложение?

ответ

0

Я не совсем понимаю, что вы подразумеваете под «созданная база данных, но она не появляется».

Я думаю, что если бы вы объяснили, что именно это сообщество, вероятно, поможет вам.

Существует три причины, почему «таблица не существует», когда вы думаете, что создали таблицы; Я объяснил эти случаи в этом ответе: Is it necessary to create tables each time you connect the derby database?

Пожалуйста, сообщите нам дополнительную информацию о вашей ситуации, чтобы мы могли лучше понять поведение вашего приложения.

+0

Привет, Брайан, спасибо за ответ. Извините мой плохой английский. Если я создаю базу данных, используя код типа «String host =» jdbc: derby: // localhost: 1527/EmployeesCreateTrue; create = true "" база данных создана, я могу проверить это в каталоге Windows моих баз данных Derby, но созданная база данных не указана в NetBeans - Services - JB, поэтому я не могу использовать NetBeans для создания схемы и таблиц и заполнять данные. Это моя проблема в этот момент. – fedeteka

+0

Спасибо за разъяснение! Я могу подумать о нескольких возможностях: (1) Netbeans использует другой URL-адрес соединения, чем ваша программа, или (2) Netbeans должен выполнить какое-то «обновление», чтобы увидеть вашу недавно созданную базу данных. Когда вы используете Netbeans для подключения к вашей базе данных, какой URL-адрес JDBC-соединения вы передаете Netbeans? –

+0

Привет, Bryan, для баз данных, созданных на URL-адресе подключения NetBeans de JDBC, является Отобразить Nam: jdbc: derby: // localhost: 1527/Сотрудники [root on ROOT] URL-адрес базы данных: jdbc: derby: // localhost: 1527/Сотрудники Драйвер: apache_derby_net Класс водителя: org.apache.derby.jdbc.ClientDriver Я не могу найти какой-либо опции Refresh или Update, поэтому я думаю, что когда я открываю Netbeans, каталог Derby проверяется на поиск баз данных. Я не знаю, почему тот, который создан с чистым кодом, не указан. – fedeteka

0

Я не уверен на 100%, если это ваша проблема, но многие проблемы, с которыми люди, похоже, сталкиваются с Netbeans и Derby, похоже, связаны с тем, что они не устанавливают derby.system.home явно. Когда вы этого не сделаете, Derby хранит базы данных в текущем каталоге и, вероятно, будет отличаться при работе в среде IDE, либо на вкладке «Службы», либо на вашем собственном коде, чем при выполнении баннера вашего приложения как отдельной программы. Поэтому совет (который вы также найдете в руководстве): всегда устанавливайте derby.system.home. Альтернативой было бы использование полных путей к базам данных, но это редко срабатывает для реального приложения, которое развертывается на разных машинах.

+0

Здравствуйте, Dyre, спасибо за подсказку. Я использую Windows 7. Мне нужно установить Derby также в Windows? Я имею в виду, в этом случае, если JAR нужен Derby, установленный в системе, тогда он не является полным встроенным и переносным no? Мой фактический URL: jdbc: derby: // localhost: 1527/Сотрудники Я попробую с http://db.apache.org/derby/docs/10.0/manuals/tuning/perf14.html другой конфигурацией. «Драйвер Derby JDBC. Следующий пример устанавливает derby.system.home в Windows. Свойства p = System.getProperties(); p.put (" derby.system.home "," C: \ databases \ tours ");» – fedeteka

0

У меня была та же самая проблема - у вас было дерби db в сервисах, но программы, закодированные в netbeans, не обращались к нему.Я решил это, добавив базу данных дерби (скопировать пасту) в пакет в разделе «Файлы». Я использую Windows 7. Как только я это сделал, я смог использовать несколько таблиц (до того, как netbeans просто проигнорировали вторичные таблицы и разрешили мне использовать основную таблицу).

Смежные вопросы