2008-10-12 64 views
4

我有一個由C實現(python bsddb模塊)創建的berkeley db文件(* .bdb)。是否有可能通過Berkeley Db的純Java實現讀取此文件?我試圖用berkeley db java edition(je)閱讀它,但是不能。 je拋出一個例外,說它無法檢測到berkeley數據庫。 berkeley db文件不能跨越不同的實現進行交互操作嗎?如果是這樣,爲什麼?可以通過oracle berkeley db java版使用由c實現(python bsddb)創建的bdb(berkeley db)文件嗎?

回答

0

我還沒有研究確切的答案,但我有相同的經驗。 Java API未檢測到使用pythons bdb創建的數據庫,也可以使用cli utils進行訪問。反過來也是如此。

1

注意,有三種不同的產品

  1. 的Berkeley DB - C實現
  2. Berkeley DB Java版
  3. Berkeley DB的XML

看到,Wikipedia

確實,「Berkeley DB」和「Berkeley DB Java版」有di不同(即不兼容)文件格式。但是,「Berkeley DB」產品確實通過JNI提供了一個Java API。因此,可以從Java中訪問由C實現編寫的數據文件,但不能使用「Berkeley DB Java版」。