Протестируйте с компонентами UIB: живо ли соединение с базой данных Firebird? - PullRequest
0 голосов
/ 06 апреля 2019

В старых компонентах IBX была функция под названием TestConnected:

if not DB.TestConnected then
  Showmessage('Database connection dropped!');

Я ищу похожую команду в Унифицированный компонент InterBase .
Проверка if uDB.Connected = True ... не не дает реальное доказательство.

Перед выполнением команды SQL я хотел бы проверить, установлено ли соединение с базой данных, поэтому я:

  • не нужно выполнять транзакцию, если соединение недоступно
  • может информировать пользователя о проблеме
  • при попытке повторного подключения и т. Д ...

Зачем мне это нужно?Я создаю класс фонового потока для выполнения всех команд SQL с тайм-аутом.

Только Firebird 4.0+ может обрабатывать функции тайм-аута.Версия 2.5 поддерживает только LockTimeout, поэтому я вынужден запускать все операции с БД во вторичном потоке, который можно остановить, если он выполняется слишком долго.

...