В настоящее время у меня есть одно приложение, в котором я могу получить доступ к .mdb или .accdb
файл с JdbcOdbcDriver для добавления некоторых данных.
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection("jdbc:odbc:MsAccessDSN");
но в этом мне нужно настроить DSN системы. Нам нужно добавить новый источник данных (драйвер Microsoft Access), а затем указать местоположение файла .mdb. Только тогда приведенный выше код будет работать.
Предположим, я хочу запустить свое приложение в другой системе, а затем сделать то же самое с этим компьютером.
Если я передаю свое заявление клиенту, и он / она не знает, как настроить файл .mdb. Тогда все мои усилия будут напрасными.
Таким образом, доступен любой драйвер, с помощью которого я создаю файл .mdb с помощью своего кода Java, а затем добавляю все данные в таблицу файла .mdb.
Или есть другой способ, где код Java может создать файл .mdb и получить доступ к этому файлу базы данных.
Я попробовал этот код, который добавляет данные без настройки системного DNS:
public class TestMsAccess {
private static Connection con;
private static Statement stm;
private static String tableName = "EmpDetail";
private static int id_is = 2;
private static String name_is = "Employee1";
public static void main(String[] args) throws ClassNotFoundException, SQLException {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=D:\\MSAccessProject/Employee.mdb", "", "");
stm = con.createStatement();
// enter value into table
String addRow = "INSERT INTO " + tableName + " VALUES ( "
+ id_is + ", '"
+ name_is + "')";
stm.execute(addRow);
if (con != null) { con.close(); }
if (stm != null) { stm.close(); }
}
}
Но проблема в том, что этот код не создает файл .mdb автоматически, а работает, когда я создаю файл и таблицу .mbd перед запуском этого кода.