转:java.sql.SQLException: [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序
在Win7 64位系统下,使用Java+Access数据库编程,用Java连数据库时,出现错误提示,如下:
Java java.sql.SQLException: [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序
网络上有很多类似错误的解决办法,其中之一就是:
url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=D:\\abc.mdb";
注意:Driver 和 (*.mdb) 之间要有空格,而且=左右不能有空格,正确写法为:
url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=D:\\abc.mdb";
当然,此次的问题不是这个原因,原因是,系统默认下只安装了32位的Access驱动,在64位下不支持,解决办法是,下载64位的Access数据库引擎驱动,下载地址:
http://www.microsoft.com/zh-cn/download/details.aspx?id=13255
http://download.microsoft.com/download/E/4/2/E4220252-5FAE-4F0A-B1B9-0B48B5FBCCF9/AccessDatabaseEngine_X64.exe
下载后安装。
如果当前操作系统中已安装过32位Office,会提示要卸载。
这点要批评一下微软,要求别人开发的软件同时兼容32和64位,自个开发的却不兼容,也不弄个终极解决办法。
补充:ODBC的配置程序
64位版的位置:C:\windows\system32\odbcad32.exe
32位版的位置:C:\windows\sysWOW64\odbcad32.exe