JDBC проверяет, может ли соединение гарантироваться, оно будет зафиксировано без ошибок - PullRequest
0 голосов
/ 06 апреля 2011

Есть ли способ проверить, будет ли соединение фиксироваться, не выдавая исключение?

Я знаю, что отложенные ограничения внешнего ключа применяются только при фиксации транзакции.

Предоставляет ли API JDBC (java 6) какой-либо метод для запроса базы данных, будут ли все операции с момента установления соединения (или последнего принятия) успешными?

С уважением, Пабло.

Ответы [ 2 ]

2 голосов
/ 06 апреля 2011

Вы не можете этого сделать.Процесс фиксации занимает некоторое время, и в любой момент соединение может быть потеряно (представьте, что кто-то отключает кабель).Так что никаких гарантий здесь нет.Просто ловите исключения - вот почему они были изобретены.

0 голосов
/ 21 декабря 2011

Если вы используете базу данных Oracle, вы можете проверить наличие любых отложенных нарушений ограничений перед фиксацией с помощью:

Statement stmt = connection.createStatement();
stmt.executeUpdate("SET CONSTRAINTS ALL IMMEDIATE");
...