I am connecting java to Microsoft access database but I am having following exception
java.sql.SQLException: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
try{
String ProjectPath= System.getProperties().getProperty("user.dir");
System.out.println(ProjectPath);
String path,fullstring;
path=ProjectPath+"\\data.mdb";
fullstring="jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=" +path;
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection(fullstring);
System.out.println("Connected");
}catch(Exception e){
System.out.println("Connected Error: "+ e);
}
How can I solve my problem?
{Microsoft Access Driver (*.mdb)}
is the name of the older Microsoft Jet driver, which will only work in 32-bit applications. (There are no 64-bit versions of the Jet database engine or the Jet ODBC driver.)
To connect with .mdb
and .accdb
files from a 64-bit application you need to download and install the 64-bit version of the Access Database Engine (a.k.a. "ACE") from here, and then refer to it in your application by using the driver name {Microsoft Access Driver (*.mdb, *.accdb)}
.