我需要从Java读取BerkeleyDB文件。我可以从Java读取BerkeleyDB(非Java版本)文件吗?
Oracle拥有官方Java版BerkeleyDB,但似乎它使用了自己的不兼容的二进制文件格式。
我该怎么办?
我需要从Java读取BerkeleyDB文件。我可以从Java读取BerkeleyDB(非Java版本)文件吗?
Oracle拥有官方Java版BerkeleyDB,但似乎它使用了自己的不兼容的二进制文件格式。
我该怎么办?
根据Wikipedia page,经典Berkeley DB有Java绑定,但它们需要使用JNI和本机库。这里有一个链接到Sleepycat Berkeley DB - Java API文档。
Berkeley DB实际上可以以两种不同格式存储数据,具体取决于您是否选择使用SQL API。 SQL API是最近增加的,Berkeley DB历史上一直是一个关键/值数据库。
确实需要构建本地库并使用JNI,但是如果要访问由本机库创建的文件,则会出现这种情况。幸运的是,构建过程非常简单。
如果您是在Windows下编译,请参考the installation guide。
对于Linux或其他* NIX,以后你有未解压的文件转到build_unix目录并执行下列操作之一:
../dist/configure --enable-java的前缀=在/ usr /本地/ DB
使安装
../dist/configure --enable-SQL --enable-JDBC前缀=在/ usr /本地/ DB
使安装
(很明显,您可以用您选择的安装位置替换--prefix)
欲了解更多信息,请参阅the docs page。
希望能对你的项目有所帮助,祝你好运。
相关问题(仅限于“纯Java”):http://stackoverflow.com/questions/2873581/is-it-possible-to-access-a-bdb-from-pure-java – Thilo 2011-06-11 01:11:13