Что лучший способ состоит в том, чтобы 'проверить с помощью ping-запросов' базу данных через JDBC?

Ваш код должен работать, но я думаю, что проблема заключается в определении внешних ключей. `

parentColumns = "fighter_id",

childColumns = "fighter_id"

вы можете удалить его и попробовать?

                    `
12
задан Leigh 11 May 2009 в 09:04
поделиться

5 ответов

Да, это будет только Oracle, но в JDBC нет универсального способа сделать это.

Большинство реализаций пула соединений имеют параметр конфигурации, в котором вы можете указать SQL, который будет использоваться для пинга, тем самым подталкивая ответственность выяснить, как это сделать с пользователем.

Это кажется лучшим подходом, если только кто-то не придумал для этого небольшой вспомогательный инструмент (конечно, он исключает использование потенциально даже более быстрых методов, не основанных на SQL, таких как внутренняя функция ping Oracle )

5
ответ дан 2 December 2019 в 06:27
поделиться

Я тоже не знаю общего решения. Для IBM UDB в iSeries (и, возможно, в других системах DB2) это будет

select 1 from SYSIBM.SYSDUMMY1;
4
ответ дан 2 December 2019 в 06:27
поделиться

Возможно, я ушел обедать по этому поводу, но не могли бы вы просто выполнить какой-нибудь бессмысленный запрос, например:

SELECT * FROM donkey_giraffe_87

Я не очень много знаю об обработке ошибок JDBC, но, возможно, вы могли бы проверить, сообщает ли база данных хотя бы о том, что таблица не существует. Если коды ошибок JDBC зависят от производителя, в Spring Framework есть несколько утилит для сопоставления этих кодов с более значимыми исключениями.

0
ответ дан 2 December 2019 в 06:27
поделиться

Не могли бы вы просто выполнить

SELECT 1

без предложения FROM для большинства баз данных?

-1
ответ дан 2 December 2019 в 06:27
поделиться

Достаточно просто ввести следующий запрос

SELECT 1
-1
ответ дан 2 December 2019 в 06:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: