Я создал простое настольное приложение, которое использует встроенную базу данных (derby) из netbeans. После добавления двух записей в таблицу внутри ide и ее повторного запуска все работает отлично. Но когда я дважды щелкаю исполняемый файл jar вне ide, отображается пустая база данных. в чем может быть причина? Я также хотел бы знать, как запустить это на клиентской машине. Я попытался добавить файлы jar и lib в папку и преобразовать их в файл rar, но я не нахожу файл jar после извлечения. Я новичок в этом и любая помощь будет оценена по достоинству. заранее спасибо
упаковка и развертывание настольного Java-приложения со встроенной базой данных
Ответы (1)
Есть две распространенные причины, по которым вы неожиданно получаете пустую базу данных:
Вы говорите ';create=true' и используете относительное имя базы данных, что означает, что вы даете Derby разрешение на создание новой базы данных, если она не существует, а затем домашний каталог вашей системы Derby меняется от запуска к запуску, поэтому в конечном итоге вы каждый раз создаете новые копии базы данных в разных текущих каталогах.
Вы используете другое имя пользователя при подключении к базе данных. Поскольку имя пользователя, с которым вы подключаетесь, неявно указывает схему, в которой находятся ваши таблицы, использование другого имени пользователя приводит к тому, что вы видите совершенно другой набор таблиц или, в зависимости от того, как вы на это смотрите, пустую базу данных.
Что касается банок, раров и тому подобного, важно правильно управлять своим CLASSPATH. Вам нужно иметь код Derby в вашем CLASSPATH во время выполнения. Существует множество способов сделать это, поэтому вам нужно будет очень подробно рассказать о своей ситуации, чтобы другие могли оказать вам большую помощь.