Папка Ucanaccess_net.ucanaccess.jdbc.DBReference@ac6b76

Я использую драйвер UcanAccess (net.ucanaccess.jdbc.UcanaccessDriver) для подключения к базе данных MS Access, я могу взаимодействовать с базой данных, но каждый раз, когда я запускаю свой сервер и загружается база данных, файловая папка с именем «Ucanaccess_net.ucanaccess». jdbc.DBReference@194ac0b "создается на рабочем столе с таким же размером БД (примерно 250 МБ).

Может ли кто-нибудь предложить решение? Спасибо


person ajay goswami    schedule 30.03.2017    source источник
comment
Вам действительно стоит задать этот вопрос на общем дискуссионном форуме UCanAccess или Справочный форум UCanAccess. Хотя бы там темы полистайте. Возможно, ответ уже есть.   -  person DevilsHnd    schedule 30.03.2017


Ответы (2)


Похоже, вы используете вариант подключения memory=false. В этом случае расположение по умолчанию для резервной базы данных HSQLDB - это та же папка, что и файл базы данных Access. Вы можете использовать mirrorFolder=<path>, чтобы изменить место, где хранится резервная база данных.

person Gord Thompson    schedule 30.03.2017
comment
да, я использую memory = false, но если я удалю это, я получаю сообщение об ошибке: не удалось вызвать метод инициализации; вложенное исключение - java.lang.OutOfMemoryError: пространство кучи Java - person ajay goswami; 30.03.2017
comment
Итак, ваш текущий размер JVM недостаточно велик для размещения базы данных поддержки HSQLDB с использованием таблиц в памяти. memory=false указывает HSQLDB использовать таблицы на диске, а папка, которую вы видите, - это место, где хранятся эти ресурсы HSQLDB. Именно так работает UCanAccess. - person Gord Thompson; 30.03.2017

возможно, вы используете mirrorFolder = "Some Directory of yours", и всякий раз, когда устанавливается соединение с вашей БД, он временно создает зеркало БД в вашем mirrorFolder, а когда ваше соединение закрывается, он удаляет этот файл (Каталог), но в вашем case u может не закрывать соединение, из-за чего старые файлы не удаляются, а новые файлы воссоздаются при каждом соединении. Попробуйте использовать опцию keepMirror из документации ucanaccess, которая не воссоздает файл, а обновляет его при следующем сеансе.

person Hrithik Manchanda    schedule 09.07.2019
comment
Привет и добро пожаловать в Stack Overflow. К сожалению, ваш ответ не содержит ничего нового, поскольку этот ответ уже указывает на использование mirrorFolder - person MindSwipe; 09.07.2019
comment
Моя цель состояла в том, чтобы сообщить о опции keepMirror в строке подключения. Хотя я согласен, что mirrorFolder уже описан выше - person Hrithik Manchanda; 09.07.2019