生成Java程序后出现Microsoft ODBC错误
我制作了一个小Java应用程序,它将数据写入Access数据库。 当我在Eclipse中运行它时,它工作得很好,但当我使用Maven构建它并运行它时,它失败了。 当我尝试访问数据库时,会出现以下错误: [Microsoft][ODBC管理器]数据源 找不到名称,也没有默认驱动程序 指定的 我知道这是一个常见的错误,但有太多模糊的解决方案,我太困惑,无法得到修复 我没有用户DSN或系统DSN,据我所知,我也没有运行的SQL server生成Java程序后出现Microsoft ODBC错误,java,sql,ms-access,odbc,dsn,Java,Sql,Ms Access,Odbc,Dsn,我制作了一个小Java应用程序,它将数据写入Access数据库。 当我在Eclipse中运行它时,它工作得很好,但当我使用Maven构建它并运行它时,它失败了。 当我尝试访问数据库时,会出现以下错误: [Microsoft][ODBC管理器]数据源 找不到名称,也没有默认驱动程序 指定的 我知道这是一个常见的错误,但有太多模糊的解决方案,我太困惑,无法得到修复 我没有用户DSN或系统DSN,据我所知,我也没有运行的SQL server 我不知道下一步该做什么。您可能使用带有相对.mdb文件名的连
我不知道下一步该做什么。您可能使用带有相对.mdb文件名的连接字符串。您可以使用完整文件名:
jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=c:\\Nwind.mdb
假设机器是64位的,想知道这是否是位问题 我怀疑这更多的是关于使用哪个Java运行时环境来执行构建的应用程序,而不是关于使用什么来实际构建它 Microsoft只有一个32位ODBC访问驱动程序——因此,除非Java应用程序在32位JRE中运行,否则我怀疑它将无法与桥的32位本机C部分接口,而桥的32位本机C部分反过来将加载32位ODBC驱动程序
只是想一想…嗯,你的数据库有ODBC连接字符串吗?你是对的,不过我后来才发现。无论如何,谢谢你的帮助;对于64位,您应该能够使用64位版本的ACE,它可以下载和再发行。它与旧的文件格式MDB向后兼容,而不仅仅限于新的ACCDB格式。