Я хочу написать программу для извлечения данных из базы данных MS Access. Я написал программу, как показано ниже:
package db;
import java.sql.*;
public class MSaccess_archive {
public static void main(String[] args) {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String accessFileName = "E:/L4_project/sample/db/Database";
String connURL="jdbc:odbc:DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ="+accessFileName+".accdb;";
Connection con = DriverManager.getConnection(connURL, "","");
Statement stmt = con.createStatement();
stmt.execute("select * from student"); // execute query in table student
ResultSet rs = stmt.getResultSet(); // get any Result that came from our query
if (rs != null)
while ( rs.next() ){
System.out.println("Name: " + rs.getString("Name") + " ID: "+rs.getString("ID"));
}
stmt.close();
con.close();
}
catch (Exception err) {
System.out.println("ERROR: " + err);
}
}
}
Но я получил исключение, как показано ниже:
ОШИБКА: java.sql.SQLException: [Microsoft] [ODBC Microsoft Access
Драйвер] Не удалось найти файл '(неизвестно)'.
Когда я использовал файл .mdb
, вышеприведенная программа работает правильно, но если я использую файл .accdb
, он выдает указанное выше исключение.
Есть идеи, почему?