Java Can';t使用Windows-64位连接到MS Access数据库
可能重复:Java Can';t使用Windows-64位连接到MS Access数据库,java,odbc,Java,Odbc,可能重复: 我在开始创建数据库时遇到了问题。我有64位版本的Windows 7,发现错误是Microsoft Office为32位。我可以使用c:\Windows\sysWOW64\odbcad32.exe中的odbcad32.exe创建Access数据库 现在,在我的Java代码中,我只是尝试连接,但又遇到了似乎相关的问题,让我觉得最多我只是没有正确设置数据库。JavaDB是我在ODBC:DSA中创建的数据源的名称,您可以在这里看到: 我一直在网上搜索,但找不到确切的答案。可能真的需要帮助,
我在开始创建数据库时遇到了问题。我有64位版本的Windows 7,发现错误是Microsoft Office为32位。我可以使用c:\Windows\sysWOW64\odbcad32.exe中的odbcad32.exe创建Access数据库 现在,在我的Java代码中,我只是尝试连接,但又遇到了似乎相关的问题,让我觉得最多我只是没有正确设置数据库。JavaDB是我在ODBC:DSA中创建的数据源的名称,您可以在这里看到: 我一直在网上搜索,但找不到确切的答案。可能真的需要帮助,提前谢谢 编辑:我清理了我的代码,现在我的错误不同了。我在项目文件夹C:\Eclipse\project1\src中有我的物理数据库文件-我已经设置好了,就像我在ODBC中说的一样 编辑:好吧,经过数小时的研究,我终于找到了答案。问题不在于我的代码,而在于Office中Windows x64BIT和32位驱动程序的兼容性问题。这篇文章帮助我修复了它,现在它工作了
在做了大量的研究,并看到了大量与我在这里和其他地方有关的未回答问题后,我偶然发现了一篇文章,其中有一个简单的修正,这让我想把我的头撞到我的桌子上
如果您有64位Windows 7计算机和32位版本的Access,您将遇到问题。从这篇文章中,我可以卸载当前的MS Access,并重新安装64位版本。重新添加我的数据库源,一切正常 经过大量研究,看到了大量与我在这里和其他地方有关的未回答问题,我偶然发现了一篇文章,其中有一个简单的修正,让我想把头撞到我的桌子上 如果您有64位Windows 7计算机和32位版本的Access,您将遇到问题。从这篇文章中,我可以卸载当前的MS Access,并重新安装64位版本。重新添加我的数据库源,一切正常
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