2013-04-30 87 views
0

我写这个代码,但在运行时错误时抛出被捕获并说Java连接使用的MS Access

[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified 

问题是什么?

String database="jdbc:odbc:Driver={Microsoft Access Driver(*.accdb)};DBQ=C:/Users/Amitav/Desktop/Database1.accdb;"; 

Connection con=DriverManager.getConnection(database,"",""); 
+0

尝试使用ucanaccess而不是odbc只要按照这个http://stackoverflow.com/questions/21955256/manipulating-an-access-database-from-java-without-odbc][1] – user3808015 2014-09-11 09:54:25

回答

1

首先更换Driver={...}件以匹配Microsoft Access accdb ODBC Driver example from ConnectionString.com

Driver={Microsoft Access Driver (*.mdb, *.accdb)}; 

如果此更改不足以解决问题,则可能是ACE驱动程序和Java之间不匹配。 ACE驱动程序分为32位和64位版本。您需要将ACE版本与Java(32或64位)进行匹配。

+0

我已经改变了驱动程序与来自ConnectionString.com的Microsoft Access accdb ODBC Driver示例相匹配的一段代码。但它不能正常工作.. 请告诉在哪里更改或选择ACE驱动程序.... – 2013-05-01 05:39:47

+0

它不包含在Windows中。您可以单独下载并安装它:http://www.microsoft.com/en-us/download/details.aspx?id=13255 – HansUp 2013-05-01 05:45:37

+0

它完成了....非常感谢您的支持.... :) 你能告诉我这个ACE Driver有什么改变吗? – 2013-05-01 15:02:47