powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / FireDAC TFDEventAlerter
12 сообщений из 12, страница 1 из 1
FireDAC TFDEventAlerter
    #39954187
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как можно узнать что TFDEventAlerter подключён к БД и получает события?
Потому что никаких ошибок он не выдаёт, если не может подключиться. .Active = True в любом случае.
Как узнать в рантайме, удалось ему подключиться или нет?
...
Рейтинг: 0 / 0
FireDAC TFDEventAlerter
    #39954219
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Плюс возникла ещё одна проблема: если при подключении к базе данных (Firebird) TFDEventAlerter не может подключиться к СУБД (например, все порты, кроме 3050, закрыты файрволом), то при отключении от базы данных всё приложение виснет в момент автоматического вызова TFDEventAlerter.Unregister.

Кто-нибудь уже сталкивался с этим, может знает как обойти?
Эту тему видел, но решение оттуда мне не подходит, т.к. другая база данных и описанный там метод пустой.
...
Рейтинг: 0 / 0
FireDAC TFDEventAlerter
    #39954232
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvp
Как можно узнать что TFDEventAlerter подключён к БД

Active = True
alekcvp
и получает события?

Ну хз ... Читать доку на БД. На пример, у MSSQL список из 7-10 требований, и если одно нарушено то нет ни ошибок ни событий.
...
Рейтинг: 0 / 0
FireDAC TFDEventAlerter
    #39954234
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
FireDAC TFDEventAlerter
    #39954235
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry Arefiev
alekcvp
Как можно узнать что TFDEventAlerter подключён к БД

Active = True
alekcvp
и получает события?

Ну хз ... Читать доку на БД. На пример, у MSSQL список из 7-10 требований, и если одно нарушено то нет ни ошибок ни событий.

Ну в том и проблема, что Active = True - это чисто программная настройка и если ему не удалось подключиться к серверу, то он не выдаёт никаких ошибок и прочее, он просто тупо и молча не работает... дело даже не в сервере, сам компонент никак не сообщает о том, что ему тупо не удалось подключиться к серверу.
...
Рейтинг: 0 / 0
FireDAC TFDEventAlerter
    #39954237
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подключается FDConnection
...
Рейтинг: 0 / 0
FireDAC TFDEventAlerter
    #39954238
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник

Очевидно. У меня всё работает как надо... до того момента, как я перекрываю Firebird'у все порты, кроме основного 3050 (для тестирования). Само приложение при этом продолжает нормально работать, а вот EventAlert'er начинает адски глючить, вплоть до зависания всего приложения при отключении от БД.
...
Рейтинг: 0 / 0
FireDAC TFDEventAlerter
    #39954239
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry Arefiev
Подключается FDConnection

А как мне отловить ошибку подключения? Т.е. основное соединение с базой данных проходит нормально, данные я получаю. Не устанавливается только дополнительное подключение для событий. Хотелось бы уметь обрабатывать такую ситуацию.
...
Рейтинг: 0 / 0
FireDAC TFDEventAlerter
    #39954284
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvp,

Т.е. на самом деле твой вопрос должен звучать так, - что делает сервер, когда ему не удается открыть дополнительное соединение (а это делает именно сервер, в обратном направлении) для передачи сообщений и оповещает ли он об этом как-нибудь клиента?
Почитай для начала вот здесь
https://firebirdsql.org/file/documentation/papers_presentations/Power_Firebird_events.pdf
и, если ответа так и не найдешь, переходи с этим в форум по IB/FB, там калачи тёртые, должны помочь.
...
Рейтинг: 0 / 0
FireDAC TFDEventAlerter
    #39954313
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смотреть в сторону TFDConnection.OnError и тому подобных
...
Рейтинг: 0 / 0
FireDAC TFDEventAlerter
    #39954325
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad F
Т.е. на самом деле твой вопрос должен звучать так, - что делает сервер, когда ему не удается открыть дополнительное соединение (а это делает именно сервер, в обратном направлении) для передачи сообщений и оповещает ли он об этом как-нибудь клиента?

Я-то ссылку читал, а ты?..
авторWhen it is registering for events, it sends the request over that connection.
The server opens another connection at some random port (4012 for example) and sends
that port number to the client. The client then connects to that port. This is called the
secondary connection, and it is used only for events.
...
Рейтинг: 0 / 0
FireDAC TFDEventAlerter
    #39954328
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry Arefiev
Смотреть в сторону TFDConnection.OnError и тому подобных

Спасибо, вроде работает.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / FireDAC TFDEventAlerter
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]