Как хранить данные в приложении Java? - PullRequest
0 голосов
/ 18 мая 2018

Я использую базу данных H2, которая встроена в мое Java-приложение.Я создаю соединение с сервером как:

jdbc:h2:file:/mydata

Где mydata - имя базы данных.Похоже, это говорит вызывающему соединению базы данных, что нужно найти базу данных в том же каталоге, в котором запущено приложение.Но он не может найти его на клиентских компьютерах.Зачем?Что делать?Где сохранить базу данных, чтобы не потерять данные при распространении приложения?

1 Ответ

0 голосов
/ 18 мая 2018

Согласно документации вам не нужно / до mydata вам нужно искать файл в том же каталоге

URL-адрес базы данных для подключения к локальной базе данных - jdbc: h2: [файл:] [путь] .Файл префикса: необязательный.Если относительный путь отсутствует или используется только, текущий рабочий каталог используется в качестве отправной точки.Чувствительность к регистру пути и имени базы данных зависит от операционной системы, однако рекомендуется использовать только строчные буквы.Имя базы данных должно быть длиной не менее трех символов (ограничение File.createTempFile).

http://www.h2database.com/html/features.html#embedded_databases

Итак, в вашем примере вы пытаетесь подключиться к файлу с именем mydata в корневой папке.Похоже, вы забыли точку (.) до /mydata.Попробуйте со следующим jdbc:h2:file:./mydata

...