2008-10-12 10 views
4

У меня есть файл db berkeley (* .bdb), который создается реализацией C (модуль python bsddb). Можно ли прочитать этот файл с помощью чистой java-реализации Berkeley Db? Я попытался прочитать его с помощью berkeley db java edition (je), но не смог. je исключает исключение, заявляя, что не может обнаружить базу данных berkeley. Являются ли файлы db berkeley не взаимодействующими в разных реализациях? Если да, то почему?Могу ли я использовать файл bdb (berkeley db), созданный c-реализацией (python bsddb) by oracle berkeley db java edition?

ответ

5

No.

Согласно Berkeley DB Java Edition FAQ, Berkeley DB и Berkeley DB Java Edition не совместимы друг с другом, потому что они имеют другую структуру макета файла.

0

Я не исследовал определенный ответ, но у меня такой же опыт. База данных, созданная с помощью pythons bdb, а также доступная с помощью cli utils, вообще не обнаруживается Java API. Верно и обратное.

1

Обратите внимание, что существуют три различных продуктов

  1. Berkeley DB - реализация C
  2. Berkeley DB Java Edition
  3. Berkeley DB XML

см, Wikipedia

Это правда, что «Berkeley DB» и «Berkeley DB Java Edition» имеют di (т. е. несовместимый). Однако продукт «Berkeley DB» предоставляет Java API через JNI. Таким образом, можно получить доступ к файлу данных, написанному реализацией C от Java, но не к «Berkeley DB Java Edition».

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

  • Нет связанных вопросов^_^