嗨,我有以下代码可以连接到 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 数据库引擎。你可以...DRIVER={Microsoft Access Driver (*.mdb, *.accdb)}
在您的代码中使用。... 或者 ...
DRIVER=
字符串。如果您选择此选项,此处的相关答案可能会有所帮助。... 或者 ...
在没有 ODBC 的情况下从 Java 操作 Access 数据库