oracle berkeley db java editionによるc実装(python bsddb)によって作成されたbdb(berkeley db)ファイルを使用できますか?
-
10-07-2019 - |
質問
C実装(python bsddbモジュール)によって作成されたberkeley dbファイル(* .bdb)があります。 Berkeley Dbの純粋なJava実装でこのファイルを読み取ることは可能ですか?私はberkeley db javaエディション(je)を使用して読み込もうとしましたが、できませんでした。 jeは、berkeleyデータベースを検出できなかったという例外をスローします。 berkeley dbファイルは異なる実装間で相互運用できませんか?もしそうなら、なぜですか?
解決
いいえ。
Berkeley DB Java Edition FAQ 、Berkeley DBおよびBerkeley DB Java Editionは、ファイルレイアウト構造が異なるため、相互に互換性がありません。
他のヒント
3つの異なる製品があることに注意してください
- Berkeley DB-Cの実装
- Berkeley DB Java Edition
- Berkeley DB XML
参照、ウィキペディア
「Berkeley DB」はおよび「Berkeley DB Java Edition」異なる(つまり、互換性のない)ファイル形式があります。ただし、「Berkeley DB」は、製品は、JNIを介してJava APIを提供します。したがって、JavaからC実装によって書き込まれたデータファイルにアクセスすることはできますが、「Berkeley DB Java Edition」ではアクセスできません。
明確な答えはまだ調査していませんが、同じ経験があります。 pythons bdbで作成され、cli utilsでもアクセス可能なデータベースは、Java APIによってまったく検出されません。その逆も真でした。
所属していません StackOverflow