一开始我在创建数据库时遇到了问题。我有一个 64 位版本的 Windows 7,发现错误是 Microsoft Office 是 32 位的。我能够使用 c:\Windows\sysWOW64\odbcad32.exe 中的 odbcad32.exe 创建我的 Access 数据库
现在,在我的 Java 代码中,我只是想建立连接,但又遇到了似乎相关的问题,这让我觉得最多只是没有正确设置数据库。JavaDB 是我在 ODBC:DSA 中创建的数据源的名称,您可以在此处看到:http: //i.imgur.com/9n19x.png
我一直在互联网上搜索,但无法真正找到可靠的明确答案。真的可以使用帮助,在此先感谢!
编辑:我清理了我的代码,现在我的错误不同了。我在 C:\Eclipse\project1\src 的项目文件夹中有我的物理数据库文件 - 我已经设置它,就像我在 ODBC 中所说的一样。
编辑 编辑:好吧,经过数小时的研究,我最终还是弄明白了。问题不在于我的代码,而是与 Office 中的 Windows x64BIT 和 32 位驱动程序的兼容性问题。这篇文章帮助我修复了它,现在它可以工作了!http://www.selikoff.net/2011/07/26/connecting-to-ms-access-file-via-jdbc-in-64-bit-java/
import java.sql.*;
public class DBTester {
public static void main(String[] args) throws SQLException, ClassNotFoundException {
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String fileName = "C:/Eclipse/school/bin/RegistrationDB.mdb";
String dB = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ="+fileName;
Connection connection = DriverManager.getConnection(dB,"","");
System.out.println("connected");
Statement s = connection.createStatement();
s.close();
connection.close();
} catch(Exception ex)
{
ex.printStackTrace();
}
} // end main
} // end class