¿puedo usar el archivo bdb (berkeley db) creado por la implementación c (python bsddb) por oracle berkeley db java edition?

StackOverflow https://stackoverflow.com/questions/195657

Pregunta

Tengo un archivo berkeley db (* .bdb) creado por la implementación C (módulo python bsddb). ¿Es posible leer este archivo mediante una implementación pura de Java de Berkeley Db? Traté de leerlo usando berkeley db java edition (je) pero no pude. je arroja una excepción que dice que no pudo detectar la base de datos berkeley. ¿Los archivos berkeley db no son interoperables en diferentes implementaciones? Si es así, ¿por qué?

¿Fue útil?

Solución

No.

De acuerdo con el Berkeley DB Java Edition FAQ , Berkeley DB y Berkeley DB Java Edition no son compatibles entre sí porque tienen una estructura de diseño de archivo diferente.

Otros consejos

Tenga en cuenta que hay tres productos diferentes

  1. Berkeley DB - la implementación de C
  2. Berkeley DB Java Edition
  3. Berkeley DB XML

ver, Wikipedia

Es cierto que el "Berkeley DB" y "Berkeley DB Java Edition" tener un formato de archivo diferente (es decir, incompatible). Sin embargo, el "Berkeley DB" el producto proporciona una API Java a través de JNI. Por lo tanto, es posible acceder al archivo de datos escrito por la implementación de C desde Java, pero no con el "Berkeley DB Java Edition".

No he investigado la respuesta definitiva, pero tengo la misma experiencia. La API de Java no detecta en absoluto una base de datos creada con pythons bdb, y también accesible con las utilidades cli. Lo contrario también era cierto.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top