【问题标题】:Why my code keep getting java.sql.SQLException: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified?为什么我的代码不断出现 java.sql.SQLException: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified?
【发布时间】:2015-05-31 16:08:15
【问题描述】:

谁能帮我让我的数据库连接到java。 我已经尝试了好几个小时,但仍然出现此异常:“java.sql.SQLException: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified?”

public Connector() {
      Connection con;
      Statement st;
    try {
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        con = DriverManager.getConnection("jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=Database.mdb");
        st = con.createStatement(1004, 1008);
    } catch (Exception e) 
        e.printStackTrace();
    }

} 

这是我得到的例外:

java.sql.SQLException: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
    at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
    at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
    at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(Unknown Source)
    at sun.jdbc.odbc.JdbcOdbcConnection.initialize(Unknown Source)
    at sun.jdbc.odbc.JdbcOdbcDriver.connect(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)

【问题讨论】:

  • 让您的代码显示System.getProperty("sun.arch.data.model")edit 返回的值,向我们展示您的问题。
  • 我试过了,它返回 64 位

标签: eclipse ms-access jdbc-odbc


【解决方案1】:

您的 Java 代码在 64 位 JVM(Java 虚拟机)下运行,并尝试使用较旧的“Jet”ODBC 驱动程序Microsoft Access Driver (*.mdb)。这是行不通的,因为较旧的“Jet”驱动程序仅适用于 32 位应用程序。你要么需要

  1. 在 32 位 JVM 下运行您的 Java 程序,或者

  2. here 下载并安装较新的“Access Database Engine ('ACE')”的 64 位版本,然后在 64 位下运行代码时使用 ODBC 驱动程序名称 Microsoft Access Driver (*.mdb, *.accdb) JVM。

另外,请记住 JDBC-ODBC 桥已从 Java 8 中删除,因此继续使用它并不是很“适合未来”。有关替代方法,请参阅

Manipulating an Access database from Java without ODBC

【讨论】:

    猜你喜欢
    • 2019-06-28
    • 2014-09-15
    • 1970-01-01
    • 1970-01-01
    • 2014-02-09
    • 1970-01-01
    • 1970-01-01
    • 2015-10-10
    • 2016-10-11
    相关资源
    最近更新 更多