【问题标题】:Cannot connect to *.dbf file through JDBC drivers无法通过 JDBC 驱动程序连接到 *.dbf 文件
【发布时间】:2012-11-08 18:07:26
【问题描述】:

我正在尝试连接到我的 Java 应用程序上的 *.dbf (dBase III) 文件,该应用程序在 Windows Server 2003 系统上运行。 我遇到了这个错误,我无法真正理解其含义(OdbcJdbc.java 的来源似乎不可用):

[Microsoft][ODBC dBase driver] '(unknown)' is not a valid path error

这是我在应用程序上运行的代码:

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

String database = "jdbc:odbc:DRIVER={Microsoft dBase Driver(*.dbf)};DBQ=D:\\dbNeri\\CARISTAT;";

Connection conn = DriverManager.getConnection(database);

Statement s = conn.createStatement();
String selTable = "SELECT * FROM CARISTAT";

是否存在能够连接到 dBase 文件的 JDBC 驱动程序,还是我必须导入外部库才能发挥作用?

提前感谢您的帮助!

【问题讨论】:

  • @a_horse_with_no_name 使用单个反斜杠并不是一个真正的选择:毕竟这是一个 java 字符串。

标签: java jdbc dbase


【解决方案1】:

好吧,我终于找到了所有问题的答案。

无需配置 ODBC 数据源,该代码中的错误是我在连接字符串中直接定位了我想要访问的文件名。 (在上面的代码中,我删除了“\CARISTAT”)。

因此应用程序运行轻松,不再出现 JDBC 驱动错误!!

感谢您的支持!

【讨论】:

    【解决方案2】:

    您能否为该数据库设置 DSN(使用 ODBC 管理器)?也许您只是没有在该服务器上安装 dBase ODBC 驱动程序?

    【讨论】:

    • 嗨凯文!我可以尝试在我的服务器上配置 ODBC 数据源,你能验证我用来连接的 URL 字符串吗?只是为了确保问题出在数据源配置上..
    【解决方案3】:

    Dbase III 是 16 位产品,而 Windows Server 是 64 位环境,这就是导致兼容性问题的原因。

    您必须使用 dBDOS 才能使用基于 DOS 的 dBase 在 64 位平台上运行我们的 dBase 应用程序。

    这些网站有更多信息:

    【讨论】:

      猜你喜欢
      • 2013-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-17
      • 1970-01-01
      • 2018-02-19
      • 1970-01-01
      相关资源
      最近更新 更多