【问题标题】:Open Derby/JDBC database in file system在文件系统中打开 Derby/JDBC 数据库
【发布时间】:2012-03-22 00:54:15
【问题描述】:

我有一个在 Java 中与 Derby/JDBC 一起使用的数据库。在文件系统中,我可以看到以下条目:

  • 日志(文件夹)
    • log.ctrl(文件)
    • log142.dat(文件)
    • logmirror.ctrl(文件)
  • seg0(文件夹)
    • c...(60 个文件,大小为 8-7000 kB)
  • tmp(文件夹)
  • db.lck(文件)
  • service.properties(文件)

有没有机会打开这个数据库?我想将此数据库转换为 SQLite,因此至少需要查看结构。

非常感谢您!

【问题讨论】:

  • 为什么不使用一些快速的 java 和 Derby JDBC 驱动程序将其转储出来?

标签: java database sqlite jdbc derby


【解决方案1】:

如果您还没有安装 Derby,您应该安装它。 Derby 附带一个命令行工具ij。使用此工具将表转储为 sql 查询或 csv 文件。您可以使用这些导入到 sqlite。

First choose the output format using

And then use these SQLs 在 IJ 的命令行上导出到文件。

Find details about ij here 点击此链接后...点击 Running IJ。

Some basic IJ tool example

For exporting data out of Derby

运行 IJ 的代码段

`方法何时使用命令 将 ij 作为独立命令运行。如果您对 Java 编程语言和 Derby 比较陌生,请使用此方法。在使用此方法运行 ij 工具之前,请按照设置环境变量中的步骤操作。要从命令行运行 ij 脚本,请使用: ij 您必须先将 DERBY_HOME/bin 目录添加到 PATH 环境变量中,然后才能运行 ij 工具。

ij 脚本设置适当的环境变量,包括 CLASSPATH,并启动 ij 工具。`

工具 CLI 示例:

ij> 连接'sample'作为sample1;

ij> connect 'newDB;create=true' as newDB;

ij(NEWDB)> 显示连接;

SAMPLE1 - jdbc:derby:sample

NEWDB* - jdbc:derby:newDB;create=true

  • = 当前连接

ij(NEWDB)>

【讨论】:

  • 非常感谢!你能告诉我如何使用 ij 工具吗?你从代码中使用它吗?在 Eclipse 中,我添加了 Derby 插件,现在我可以连接到我的数据库。我可以从单个表中选择行,但 derby 似乎没有像“SHOW TABLES”这样的东西......
  • Derby 有SHOW TABLES db.apache.org/derby/docs/dev/tools/rtoolsijcomrefshow.html 这个链接也有关于如何使用ij 连接到数据库的示例
  • 是的,但是当我使用 Java 时,如何执行诸如“ij> show tables”之类的 Derby 命令?到目前为止,我只有一个 java.sql.Connection 的实例。
【解决方案2】:

我建议查看SQuirrel SQL,因为它可以将数据从一个数据库复制到另一个数据库。在plugins 页面上查找 DBCopy 插件。使用 SQuirreL,您还可以右键单击对象视图中的表并为结构生成 CREATE TABLE 语句等。 方便。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-18
    • 2021-04-30
    • 2019-12-31
    • 1970-01-01
    • 2014-03-14
    • 1970-01-01
    • 2019-07-15
    • 1970-01-01
    相关资源
    最近更新 更多