无法使用 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 数据库的主要内容,如果未能解决你的问题,请参考以下文章

PDO连接到ODBC iseries无法正常工作

无法使用 ODBC 连接从 .Net Core 3.0 访问

连接 jdbc odbc 驱动程序时出错

32位和Java中的64位JDBC同时

Redshift ODBC 连接 - 无法识别的配置参数

将 PHP 连接到 UniVerse ODBC DSN