【发布时间】: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 来做到这一点?我在这里很新
-
没有 64 位 Java 的 ODBC 桥驱动程序。你运气不好。
-
@duffymo 即使使用 JDK 64 位/访问 64 位?