我需要從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