Есть ли другой способ правильно закрыть соединение с базой данных доступа ms в конце бесконечного цикла? Потому что, если запись вставлена в таблицу, с моим кодом ниже, я не вижу новых вставленных строк/строк. Похоже, что база данных не закрывается по-разному или что-то ... не знаю, почему она действует так. Если я вручную закрываю или открываю базу данных (моя программа все еще работает в фоновом режиме), все в порядке - новая строка/строки появятся в моем запросе.Java, взаимодействующий с базой данных ms, - ucanaccess
import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Main {
public static void main(String[] args) throws RemoteException,
InterruptedException, SQLException {
while (true) {
Connection con = DBConnection.getDBConnection();
System.out.println("Connection OK!");
Statement s = null;
try {
ResultSet rs = null;
con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
con.setAutoCommit(true);
rs = s.executeQuery("SELECT Tel, Msg, Procesat FROM RcvMsg WHERE Procesat = 'NOK'");
while (rs.next())
{
String pn = rs.getString(1);
String str = rs.getString(2);
//do something
}
rs.close();
} catch (SQLException e) {
e.printStackTrace();
} finally {
s.close();
con.close();
}
Thread.sleep(5000);
}
}
}
Что вы пытаетесь сделать в '// do something' ?? –
Ничего релевантного. Скажем, что-то печатаю. Дело в том, что моя программа не может видеть новые вставки во время работы программы - просто при закрытии/открытии базы данных вручную. – mamba
Я не могу воссоздать вашу проблему с помощью UCanAccess 2.0.9.4. Мой тестовый код [здесь] (http://pastebin.com/sXx9L3zc). Когда я добавляю новую строку из другого приложения (VBScript с использованием OLEDB) во время работы моего приложения Java, он отображает новую строку на следующей итерации через цикл while (true). Если вы используете более старую версию UCanAccess, попробуйте перейти на [последнюю версию] (http://sourceforge.net/projects/ucanaccess/files/). –