могу ли я использовать файл bdb (berkeley db), созданный реализацией c (python bsddb) oracle berkeley db java edition?
-
10-07-2019 - |
Вопрос
У меня есть файл berkeley db (*.bdb), который создается реализацией C (модуль python bsddb).Возможно ли прочитать этот файл с помощью чистой Java-реализации Berkeley Db?Я попытался прочитать его с помощью berkeley db java edition (je), но не смог.je выдает исключение, в котором говорится, что ему не удалось обнаружить базу данных berkeley.Являются ли файлы berkeley db несовместимыми в разных реализациях?Если да, то почему?
Решение
Нет.
В соответствии с Часто ЗАДАВАЕМЫЕ вопросы Berkeley DB Java Edition, Berkeley DB и Berkeley DB Java Edition несовместимы друг с другом, поскольку они имеют разную структуру расположения файлов.
Другие советы
Обратите внимание, что есть три разных продукта
<Ол>см. Википедия
Это правда, что «Беркли DB» и «Berkeley DB Java Edition»; иметь другой (т.е. несовместимый) формат файла. Тем не менее, «Berkeley DB» продукт предоставляет Java API через JNI. Таким образом, можно получить доступ к файлу данных, написанному реализацией C, из Java, но не с помощью «Berkeley DB Java Edition».
Я не исследовал точный ответ, но у меня такой же опыт. База данных, созданная с помощью pythons bdb, а также доступная с помощью утилит, вообще не обнаруживается Java API. Обратное также было правдой.