метод удаления дубликатов не удаляет дубликаты - PullRequest
1 голос
/ 11 января 2012

Я написал метод, который выполняет запрос, который удаляет дубликаты в файле MS Access.Запрос работает правильно при запуске в MS Access, но ничего не происходит, когда он запускается через Java.Другие запросы работают с использованием этой же строки подключения.Может ли другой набор глаз увидеть, что вызывает это?

public static void delete_duplicates() throws Exception{

    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    String sDBQ = "C:/AW.mdb";

    String database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=" + sDBQ + ";DriverID=22;READONLY=true";
    Connection conn = DriverManager.getConnection( database ,"","");;
    Statement stmt = conn.createStatement();

    String query = "DELETE "+
                    "FROM AW " +
                    "WHERE id not in (select min(id) from AW group by Symbol, Direction, START_DT, END_DT)";

    System.out.println(query);

    stmt.executeUpdate(query);

    stmt.close();
}

1 Ответ

5 голосов
/ 11 января 2012

Вы подключаетесь так:

String database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=" + sDBQ + ";DriverID=22;READONLY=true";

У вас есть атрибут READONLY, установленный на true, поэтому вы не можете вносить изменения в базу данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...