3

我不知道为什么我无法使用 DBeaver 和“Flat Tiles (CSV/DBF) 的内置 JDBC 驱动程序”连接到 .DBF 文件。

我有一个共享驱动器,上面有几十个 DBF 文件。我创建了如附图所示的连接,但是当我连接到源时,我遇到了两个问题。我已经包含了我遵循的步骤和我得到的错误。

有没有人有使用 JDBC 连接 DBF 文件或使用 DBeaver 工具的经验,这可能对我有帮助?

我确实从 GitHub 下载了 DANS-DBF 库 JAR,但我不确定在这种情况下如何使用它。我在这个网站上注意到它说

CsvJdbc 需要 Java 版本 1.6 或更高版本。要读取 DBF 文件,必须下载 DANS DBF 库并将其包含在 CLASSPATH 中。

但我不确定如何将它添加到 DBeaver 项目中。他们不像实际的 java 项目那样使用构建路径。

(我知道我可以在 excel 中打开它们,但我更喜欢这个工具来查询数据)。

我创建数据库
在此处输入图像描述

我选择 CSV DBF 连接类型中的构建。
在此处输入图像描述

驱动程序属性只有.CSV 我用这个设置试过了,当它不起作用时,我将它更改为.dbf,它仍然不起作用
在此处输入图像描述

我可以很好地连接到这个文件夹,而且我知道里面有很多 DBF 文件。
在此处输入图像描述

设置仅供参考。
在此处输入图像描述

当我尝试打开出现的一个 DBF 文件时,我收到一条错误消息。 在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

4

2 回答 2

3

我很抱歉为今年半旧的帖子注入了活力,但我遇到了同样的问题,这是谷歌上的第一个链接。

经过大量研究和摆弄,我让 DBeaver 使用您已经描述的大多数设置打开一个 .dbf 平面文件。

用于打开 dbf 文件的 CSV/DBF JDBC 驱动程序需要您提到的 DANS DBF,并且需要将其添加到 CLASS PATH 中。关于该过程的信息有限,我发现在 Dbeaver 中没有简单的方法来修改它。我还查看了一些其他的 JDBC,这些 JDBC 据说可以打开 xBASE 文件,例如 HXTT,但它们不是免费的,这对我来说是一个交易破坏者。

但是,我确实通过将 DANS DBF jar 文件与 csv JDBC 驱动程序放在同一目录中来使其工作。它可以毫不费力地找到它作为依赖项并像魅力一样运行。

所以对于任何想要这样做的人。

  • 在 DBeaver 打开驱动程序管理器并选择 csv 平面文件
  • 如果需要,请下载驱动程序。
  • 从 souce forge http://dans-dbf-lib.sourceforge.net下载 DANS DBF
  • 将该文件添加到驱动程序并确保将其放在与 csvjdbc 驱动程序相同的目录中。它应该在您的用户文件夹 .dbeaver-drivers 中。如果您单击驱动程序文件和信息按钮,它应该为您提供文件路径。
  • 然后将DANS DBF文件添加到驱动管理器
  • 确保将文件过滤器类型更改为 .dbf,否则它将隐藏所有 .dbf 文件。
  • 建立新的联系,您就可以开始了!

有几点需要注意。我发现文件类型扩展名区分大小写,因此如果您按 .dbf 过滤,则 .DBF 将不会显示在连接中。一些人评论说 JDBC 驱动程序不喜欢文件名中的空格,它是一个带有一些怪癖的只读驱动程序。

于 2018-08-20T13:04:34.457 回答
1

我最近遇到了这个问题并想分享一下,如果您仍然遇到 DBeaver 的问题,指出它无法找到 Field 或 getRecordCount 等。Serphentelm 提到按照步骤操作但仍然出现错误。我发现 sourceforge 的 JAR 文件是源文件,而不是编译后的 .class 文件。

我不得不自己建造罐子。对于那些需要它的人,我把它放在这里: http ://s000.tinyupload.com/index.php?file_id=59469996816520223299

我把它放在上面提到的 csvjdbc 文件夹中,然后从 DBeaver 的编辑驱动程序页面中执行“添加文件”来添加 jar。

于 2020-12-02T17:41:45.403 回答