我可以使用由oracle berkeley db java版的c实现(python bsddb)创建的bdb(berkeley db)文件吗?

发布于 2024-07-06 23:00:47 字数 215 浏览 11 评论 0原文

我有一个 berkeley db 文件(*.bdb),它是由 C 实现(python bsddb 模块)创建的。 是否可以通过 Berkeley Db 的纯 java 实现来读取此文件? 我尝试使用 berkeley db java Edition (je) 阅读它,但不能。 je 抛出异常,表示无法检测到 berkeley 数据库。 伯克利数据库文件在不同的实现之间不能互操作吗? 如果是这样,为什么?

I have a berkeley db file (*.bdb) which is created by the C implementation(python bsddb module). Is it possible to read this file by a pure java implementation of Berkeley Db? I tried to read it using berkeley db java edition (je) but could not. je throws out an exception saying that it could not detect the berkeley database. Are berkeley db files not inter operable across different implementations? If so, why?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

春花秋月 2024-07-13 23:00:47

No.

According to the Berkeley DB Java Edition FAQ, Berkeley DB and Berkeley DB Java Edition are not compatible with one another because they have a different file layout structure.

白衬杉格子梦 2024-07-13 23:00:47

请注意,Berkeley DB 共有三种不同的产品

  1. - C 实现
  2. Berkeley DB Java 版
  3. Berkeley DB XML

请参见,维基百科

确实,“Berkeley DB”和“Berkeley DB Java 版”具有不同(即不兼容)的文件格式。 然而,“Berkeley DB”产品确实通过 JNI 提供了 Java API。 因此,可以从 Java 访问由 C 实现编写的数据文件,但不能使用“Berkeley DB Java 版”。

Note that there are three different products

  1. Berkeley DB -- the C implementation
  2. Berkeley DB Java Edition
  3. Berkeley DB XML

see, Wikipedia

It is true that the "Berkeley DB" and "Berkeley DB Java Edition" have different (i.e. incompatible) file format. However, the "Berkeley DB" product does provide a Java API via JNI. So it is possible to access data file written by the C implementation from Java, but not with the "Berkeley DB Java Edition".

岁月静好 2024-07-13 23:00:47

我没有研究过确切的答案,但我有同样的经历。 Java API 根本检测不到使用 python bdb 创建的数据库,也可以使用 cli utils 访问该数据库。 反之亦然。

I haven't researched the definite answer, but I have the same experience. A database created with pythons bdb, and also accessible with the cli utils, is not detected at all by the Java API. The reverse was also true.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文