【问题标题】:BerkeleyDB database file opening (java)BerkeleyDB 数据库文件打开 (java)
【发布时间】:2011-08-05 18:08:13
【问题描述】:

我有一个带有 .tld 扩展名的 BerkeleyDB 数据库(eBay Turbolister 文件)。 Linux 命令“文件”确认此 BerkeleyDB 数据库。

我正在关注http://download.oracle.com/docs/cd/E17277_02/html/collections/tutorial/opendbenvironment.html 的教程。

com.sleepycat.je.Environment 构造函数接受目录,而不是文件。看了一会,发现这个目录应该是包含数据库文件和日志等其他文件的。

我的问题是:如何指定要打开的数据库的文件名 - 或者数据库文件是否需要具有特定的文件名?其次,文件是否需要在自己的目录中?


我在浏览 API JavaDoc 后发现以下答案的一些补充信息:

com.sleepycat.je.Environment 具有以下接受文件名的方法:

public Database openDatabase(Transaction txn,
                             String databaseName,
                             DatabaseConfig dbConfig)

【问题讨论】:

    标签: java berkeley-db ebay-api


    【解决方案1】:

    您提到的教程适用于 Berkeley DB 的 Java 版。您确定您的数据库文件是用 Java 版创建的吗?

    Berkeley DB 的本机版本也具有 Java 绑定,但使用本机库。也许这更合适?

    本机版本中包含命令行工具,例如 db_statdb_verify。您可以使用这些工具来检查您的文件,而无需编写程序。

    【讨论】:

    • 感谢您解惑!如果它确实是一个 BDB 文件,我将不得不编写一个 Java 程序将它迁移到 Hibernate SQL SB,以便它可以在 Web 应用程序中使用。我会查找您提到的工具和 Java 绑定。
    • db_verify Desktop/panag_3.tld 验证 Desktop/panag_3.tld 成功。所以现在我必须查找 Java 绑定。
    • Berkeley DB 库的 Java 绑定提供了一种在给定 File 的情况下打开 Environment 的方法,但它仍然指定包含目录。 download.oracle.com/docs/cd/E17275_01/html/java/com/sleepycat/… Environment#openDatabase() 调用确实接受文件名,但不清楚它是否需要包含在 Environment 的目录中。
    • 谢谢,我是独立发现的!
    猜你喜欢
    • 1970-01-01
    • 2016-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-11
    • 2014-08-30
    相关资源
    最近更新 更多