Может ли SQLiteJDBC работать без установленного SQLite и может ли он инициализировать таблицы базы данных? - PullRequest
4 голосов
/ 12 августа 2011

Я пытался выяснить это самостоятельно, но безрезультатно.Я пишу Java-приложение, которое будет использовать встроенную базу данных SQLite через SQLiteJDBC Zentu.

Я делаю следующие предположения и нуждаюсь в подтверждении по всем из них, и где я ошибаюсь, уточнение.

  • Для правильной работы приложения Swing мне потребуется установить SQLite на каждую машину, на которой находится мое приложение, а не только файл "myEmbeddedDatabase.db"
  • В соответствии с передовой практикой во время установки / развертывания мне нужно будет выполнить сценарий оболочки, который вызывает sqlite и запускает скрипт skeleton / init, который создает таблицы и т. Д., Которые мое приложение будет использовать через SQLiteJDBC;Я предполагаю это, потому что не похоже, что SQLiteJDBC имеет возможность читать файл * .sql и запускать его (ну, по крайней мере, без того, чтобы я много занимался кодированием!)

БлагодаряЛюбой, кто может помочь прояснить эти пункты для меня!

Ответы [ 2 ]

4 голосов
/ 12 августа 2011

1) Нет, все, что вам нужно, это ссылка на драйвер Java.Это привлекательность встроенной системы баз данных.Некоторые функции, которые вы обычно найдете в полностью установленной системе баз данных, отсутствуют (например, поддержка сети), но взамен вам не нужно ничего устанавливать на клиентской машине.просто создать схему базы данных (определения таблиц, но не содержимое) во время разработки.Таким образом, вы можете просто развернуть его как ресурс вместе с приложением и скопировать его в подходящую папку при первом запуске приложения.В качестве альтернативы драйвер java позволит вам создать базу данных в коде (и добавить к ней таблицы).В любом случае, если вы обновите свое приложение, вам нужно будет написать ручной код, который проверяет версию базы данных и обновляет схему, добавляя или удаляя столбцы / таблицы по мере необходимости.

0 голосов
/ 12 августа 2011

Для правильной работы приложения Swing мне понадобится SQLite, установленный на каждом компьютере, на котором находится мое приложение, а не только файл "myEmbeddedDatabase.db"

Нет.Вам не нужно это делать.SQLite написан для этого.Это не полная система баз данных, которую нужно устанавливать (например, MySQL).После того, как вы связали драйвер jdbc с вашим приложением, вы можете везде использовать скомпилированную исполняемую программу java.

...