繁体   English   中英

如何从 64 位 Java 连接到 Access .mdb 数据库?

[英]How to connect to Access .mdb database from 64-bit Java?

嗨,我有以下代码可以连接到 Windows 7 操作系统上的 MS Access 数据库。 我已将数据源快捷方式更改为指向 64 位 odbc,然后指向 32 位。 但仍然收到错误

java.sql.SQLException: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
    at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6956)
    at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7113)
    at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(JdbcOdbc.java:3072)
    at sun.jdbc.odbc.JdbcOdbcConnection.initialize(JdbcOdbcConnection.java:323)
    at sun.jdbc.odbc.JdbcOdbcDriver.connect(JdbcOdbcDriver.java:174)
    at java.sql.DriverManager.getConnection(DriverManager.java:579)
    at java.sql.DriverManager.getConnection(DriverManager.java:221)
    at TestDBConnection.main(TestDBConnection.java:21)

我的代码是:

import java.sql.Connection;
import java.sql.DriverManager;

public class TestDBConnection {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        try
        {
            System.out.println("filename");
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            String database = 
                      "jdbc:odbc:DRIVER={Microsoft Access Driver (*.mdb)};DBQ=C:\\Test\\Tests.mdb";
            Connection conn = DriverManager.getConnection(database, "", "");
        } catch(Exception ex) {
            ex.printStackTrace();
        }
    }

}

我如何拥有 SQL Workbench 工具,通过它我可以连接到它,但不能通过 java 代码连接到它。

请急需帮助,因为我在过去 3 个小时在 Google 上搜索时一直在为此苦苦挣扎。

如果您的 Java 应用程序在 64 位 Java 虚拟机 (JVM) 中运行,则DRIVER={Microsoft Access Driver (*.mdb)}将不起作用,因为没有 64 位版本的 Jet 数据库引擎。 你可以...

  • 此处下载并安装 64 位版本的 Microsoft Access 数据库引擎,然后在代码中使用DRIVER={Microsoft Access Driver (*.mdb, *.accdb)}

... 或者 ...

  • 在 32 位 JVM 中运行您的 Java 应用程序并继续使用现有的DRIVER=字符串。 如果您选择此选项,此处的相关答案可能会有所帮助。

... 或者 ...

  • UCanAccess JDBC 驱动程序用于 Access 数据库。 它是一个免费的、开源的、纯 Java 实现,因此它适用于 32 位和 64 位系统,包括 Windows 和非 Windows。 它也适用于 Java 8(已删除 JDBC-ODBC 桥)。 有关更多详细信息,请参阅:

在没有 ODBC 的情况下从 Java 操作 Access 数据库

您可以安装 Microsoft 提供的用于 Access 的 64 个 ODBC 驱动程序

http://www.microsoft.com/en-us/download/details.aspx?id=13255

1) 您必须配置 System dsn (Driver Microsoft Access Driver( .mdb, .accdb)) 2) 在上述配置中链接 .mdb 数据库并编写以下代码。

 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
 String database = "jdbc:odbc:systemdsnname";
 Connection conn = DriverManager.getConnection(database, "", "");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM