2012-01-11 3 views
1

Я создал простое настольное приложение, которое использует встроенную базу данных (дерби) из netbeans. После добавления двух записей в таблицу внутри ide и ее запуск снова работает отлично. Но когда я дважды щелкаю исполняемый файл jar за пределами ide пустой базы данных показывает, что может быть причиной? Я также хотел бы знать, как выполнить этот запуск на клиентской машине. Я попытался добавить файлы jar и lib в папку и преобразовать ее в rar-файл, но я не могу найти файл jar после извлечения. Я новичок в этом и любая помощь будет заранее было оцененоупаковка и развертывание настольного приложения Java со встроенной базой данных

ответ

2

Там две общие причины, почему вы обнаружите, что вы получаете пустую базу данных неожиданно:

  1. вы говорите «создать = истина» и с помощью относительное имя базы данных, что означает, что вы предоставляете разрешение Derby для создания базы данных свежей, если она не существует, а затем ваш домашний домашний каталог Derby меняется с run на run, поэтому вы в конечном итоге создаете новые копии базы данных каждый раз , в разном nt.

  2. При подключении к базе данных вы используете другое имя пользователя. Поскольку имя пользователя, с которым вы подключаетесь, неявно указывает схему, в которой находятся ваши таблицы, используя другое имя пользователя, вы видите целый набор таблиц или, в зависимости от того, как вы смотрите на него, пустую базу данных.

Что касается банок и шин и тому подобного, то самое главное - правильно управлять своим CLASSPATH. Вы должны иметь код Derby в CLASSPATH во время выполнения. Существует множество способов сделать это, поэтому вам нужно будет достаточно подробно рассказать о своей ситуации, чтобы другие могли вам помочь.

+0

спасибо, что был урок. Я могу упаковать файл db вместе с файлом jar? потому что, как вы сказали в первом случае, когда файл db вместе с банкой в ​​той же папке, db отлично работает – j2me

+0

Да, вы можете предварительно упаковать базу данных с вашим приложением. Специфика зависит от того, доступна ли база данных только для чтения или обновляется. Если доступно только для чтения, начинайте здесь: http://db.apache.org/derby/docs/10.8/devguide/cdevdvlp19700.html. Если БД обновляется, вы хотите, чтобы ваша процедура установки отменила его до локальная папка при запуске. Список рассылки пользователей derby-user - это хороший способ связаться с другими разработчиками, которые сделали это или схожие вещи. –