2009-09-04 3 views
2

Я делаю настольное приложение в Java и использую MSAccess в базе данных. Я хочу, чтобы, если я запустил настройку приложения, база данных должна быть создана на клиентском компьютере, потому что может быть другой клиент, использующий приложение, и как я могу создать настройку? Есть ли в наличии инструменты для свободного скачивания? , пожалуйста, объясните мне подробнее .. спасибобаза данных в настольном приложении с использованием swing

ответ

5

Я предпочитаю nullsoft. Посмотрите на Open Source Installers Generators in Java

@pratap: база данных должна быть создана на клиентской машине ..

Добавить пустую базу данныхдоступа к вашей установке.

+0

нам нужно добавить пустую базу данных или нашу существующую базу данных или и то, и другое? Извините, у меня нет идеи, как это сделать? – pratap

+0

Я согласен с установщиком Nullsoft. Занимает несколько дней. Но очень мощный. – Koekiebox

1

Посмотрите на SQLite, который используется Mozilla (Firefox хранит все закладки и историю в базе данных) и несколько других важных приложений.

0

В последнем дистрибутиве NetBeans, который я использовал, был создан мастер для создания такого приложения. Приложение использовало Java Persistence API для хранения данных.

8

Java 6 (улучшенный для работы с настольными приложениями) поставляется со встроенной базой данных JavaDb (ранее Derby IBM). Это будет делать то, что вы хотите.

Here's набор руководств и руководств по его использованию.

Я бы предположил, что при первом запуске приложения он проверяет наличие созданной базы данных, а если он не существует, он создает базу данных (через соответствующий SQL). Я использовал этот подход раньше, и он работает очень хорошо.

0

Мой выбор HSQLDB, так как он быстрый, надежный и простой в использовании.

In the documentation объясняется, как использовать автономный режим базы данных, это в первую очередь используется для модульного тестирования, но оно подходит и для вашего случая. Хорошая вещь заключается в том, что вы просто подключаетесь к базе данных на основе файлов без какой-либо специальной настройки, и если файлы не существуют, они создаются.

1

Когда вы говорите

доступа в базе данных

вы имеете в виду Microsoft Access или получить доступ к данным в базе данных.

Я бы посоветовал MS Access, если это так. Если нет, вы можете использовать JavaDB или HSQLDB и использовать сценарии SQL для создания базы данных.В качестве резюме

  1. пакета приложения в одном из монтажников (InnoSetup или НСИ хорошие)
  2. При установке, извлечь все файлы в соответствующих папках
  3. Выполнить сценарии SQL перед первым запуском приложения для обеспечения базы данных являются настройкой, вы можете выполнять другие служебные задачи, наряду с этим шагом (см программы установки документации после установки шагов)
  4. Вашего приложения хорошо идти
0

Я бы поместил плакаты, которые рекомендуют JavaDB.

Абсурдно легко администрировать изнутри приложения. Что еще, потому что все является родной Java, вы не получаете char-> unicode little-endian-> big-endien и все другие малаки, которые вы обычно получаете при чтении SQL в java.

Единственный совет, что с JavaDB готовятся ваши SQL-операторы. Подготовленные утверждения получаются кэшированными, и полученная в результате программа доступа (аналогичная плану доступа, но фактически программа jvm) повторно используется, программы для «исполняемых» операторов не кэшируются.

Если вы действительно настроены на MSAccess, я бы предложил вы упаковываете файл «default.mdb» со всеми вашими необходимыми таблицами и заполняете ваши таблицы классов. Если таблица пользователя не существует, просто скопируйте файл по умолчанию .mdb и откройте это.

+0

Не могли бы вы подробно объяснить последний абзац. – pratap

+0

Его довольно просто вы создаете db доступа со всеми необходимыми таблицами, заполняете его любыми данными, требуемыми вашим приложением (например, кодами валют, налоговыми ставками и т. Д.). Доступ будет хранить все это в файле sinlge * .mdb, который затем можно упаковать вместе с вашим приложением и использовать в качестве базы данных по умолчанию. –

0

Я рекомендую H2 database, потому что это простая, быстрая, чистая Java и небольшая. См. this page о том, как H2 сравнивается с другими базами данных Java, включая те, которые упомянуты здесь в других ответах. В нем много функций Derby/JavaDB и HSQLDB нет.

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