posso usare il file bdb (berkeley db) creato dall'implementazione c (python bsddb) dall'oracolo berkeley db java edition?

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

Domanda

Ho un file db berkeley (* .bdb) che viene creato dall'implementazione C (modulo python bsddb). È possibile leggere questo file con un'implementazione Java pura di Berkeley Db? Ho provato a leggerlo usando berkeley db java edition (je) ma non ci sono riuscito. je lancia un'eccezione dicendo che non è stato in grado di rilevare il database berkeley. I file db berkeley non sono interoperabili tra diverse implementazioni? In tal caso, perché?

È stato utile?

Soluzione

No.

Secondo le Berkeley DB Java Edition FAQ , Berkeley DB e Berkeley DB Java Edition non sono compatibili tra loro perché hanno una struttura di layout dei file diversa.

Altri suggerimenti

Nota che ci sono tre diversi prodotti

  1. Berkeley DB - l'implementazione in C
  2. Berkeley DB Java Edition
  3. Berkeley DB XML

vedi Wikipedia

È vero che il " Berkeley DB " e "Berkeley DB Java Edition" hanno un formato di file diverso (cioè incompatibile). Tuttavia, il "Berkeley DB" il prodotto fornisce un'API Java tramite JNI. Quindi è possibile accedere al file di dati scritto dall'implementazione C da Java, ma non con "Berkeley DB Java Edition".

Non ho cercato la risposta definitiva, ma ho la stessa esperienza. Un database creato con pythons bdb, e accessibile anche con i programmi di utilità cli, non viene rilevato dall'API Java. Era vero anche il contrario.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top