无法使用 ODBC 驱动程序将 Java 程序连接到 Access 2010 数据库
Posted
技术标签:
【中文标题】无法使用 ODBC 驱动程序将 Java 程序连接到 Access 2010 数据库【英文标题】:Can't connect Java program to Access 2010 Database Using ODBC Driver 【发布时间】:2012-05-16 14:09:41 【问题描述】:所以我在这上面花了 48 小时,但我做错了!
我正在使用 64 位 BlueJ 程序编写 Java。 我正在使用 64 位 MS Windows 7 我正在尝试连接到 MS Access 2010 (x86/x64)
以下显示了我建立连接的代码:
/**
* Makes connection to FIREPLACES Database.
*
* @return 0 if connection to FIREPLACES database is successfully made,
* otherwise returns -1 if there is a problem making a connection
* to the BOOKS database.
*
*/
static public int makeConnectionToFireplacesDB()
try
// Make connection to Database
connectionToFireplacesDB = DriverManager.getConnection("jdbc:odbc:FIREPLACES");
catch (SQLException exception)
return (-1); // Return back with -1 if there is a problem
// making a connection
return (0); // Return back with 0 if connection is made to database
// end makeConnectionToBooksDB()
我要连接的访问文件的名称称为 FIREPLACES.mdb。
在遇到问题并在互联网上寻找解决方案后,我发现我需要通过 windows/SysWOW64/odbcad32.exe 使用 odbc 驱动程序创建连接。
我这样做了,但它仍然给了我同样的问题!
我觉得它一定是 x86/x64,所以我在不同的硬盘上安装了 x86 操作系统,但仍然是同样的问题!
下面的屏幕截图显示我尝试在 odbc 驱动程序上创建连接:
我实在想不出更多我能提供的信息了。
任何帮助真的会很棒!我因此陷入了严重的困境......
谢谢
【问题讨论】:
你的意思是你的方法返回-1?如果是这样,实际打印异常而不是忽略它会很有帮助(在return -1;
之前插入exception.printStackTrace();
。它将为您提供有关连接失败原因的一些信息。
@assylias 我是否通过返回 exception.getErrorCode() 而不是 -1 来做到这一点?我在这里很新
How do I use 64-bit Java ODBC driver with a Access database on Windows 2008? 的可能重复项
没有 64 位 Java 的 ODBC 桥驱动程序。你运气不好。
@duffymo 即使使用 JDK 64 位/访问 64 位?
【参考方案1】:
对于这个问题,对我来说,答案很简单,将 32 位输入到一个分区上,然后再试一次......然后工作得很好!
【讨论】:
以上是关于无法使用 ODBC 驱动程序将 Java 程序连接到 Access 2010 数据库的主要内容,如果未能解决你的问题,请参考以下文章