[英]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 数据库引擎。 你可以...
DRIVER={Microsoft Access Driver (*.mdb, *.accdb)}
。... 或者 ...
DRIVER=
字符串。 如果您选择此选项,此处的相关答案可能会有所帮助。... 或者 ...
您可以安装 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.