powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Прервать долгий запрос
12 сообщений из 12, страница 1 из 1
Прервать долгий запрос
    #39946917
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В программе запускается отдельный поток, в этом потоке в read транзакции запускается долгий запрос. Иногда пользователь решает закрыть программу, до окончания выполнения этого запроса.

В Interbase из главного потока вызывал такую процедуру
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
procedure TCalcRecCountThread.TerminateQuery;
var
  LHandle: TISC_STMT_HANDLE;
begin
  LHandle := FQueryHandle;
  if LHandle <> nil then
    GDSLibrary.isc_dsql_free_statement(StatusVector, @LHandle, DSQL_cancel);
end;

запрос завершался.

В Firebird вызов этой процедуры дает AV
Access violation at address 00000001 in module 'my.exe'. Read of address 00000001'.
Как можно прервать запрос? Вызывать TerminateThread?


С уважением, Vasilisk
...
Рейтинг: 0 / 0
Прервать долгий запрос
    #39946918
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Прервать долгий запрос
    #39946920
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нашел. fb_cancel_operation()
...
Рейтинг: 0 / 0
Прервать долгий запрос
    #39946921
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

Да. Спасибо.
...
Рейтинг: 0 / 0
Прервать долгий запрос
    #39947321
V.Borzov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
delete from mon$attachments where mon$attachment_id  = 


вроде, работает.
...
Рейтинг: 0 / 0
Прервать долгий запрос
    #39948328
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
15.04.2020 02:07, V.Borzov пишет:
>
> delete from mon$attachments where mon$attachment_id =
> вроде, работает.
>

хм...
а из розетки выключить?

зы: он же запрос прервать хотел.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Прервать долгий запрос
    #39948332
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий,

Да, но при выходе из программы, однако.))
...
Рейтинг: 0 / 0
Прервать долгий запрос
    #39948337
V.Borzov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий,

ТС писал про отдельный поток в программе, который выполняет долгий запрос. Отдельный поток - это отдельный коннект к базе, иначе какой в нем смысл, а значит весь коннект этот отдельный можно отрубать целиком таким образом, нет?
...
Рейтинг: 0 / 0
Прервать долгий запрос
    #39948340
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
17.04.2020 12:41, V.Borzov пишет:
>
> ТС писал про отдельный поток в программе, который выполняет долгий запрос. Отдельный поток - это отдельный коннект к базе

не обязательно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Прервать долгий запрос
    #39948341
V.Borzov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В каких технологиях это не обязательно? Можно детали узнать? У меня с Дельфи-приложением и Fibplus это тухляк.
...
Рейтинг: 0 / 0
Прервать долгий запрос
    #39948343
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
V.BorzovВ каких технологиях это не обязательно?

В любых. Общение с базой выносится в фоновый поток чтобы не тормозить обработку сообщений GUI.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Прервать долгий запрос
    #39948348
V.Borzov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если только ради фонового потока, то да, согласен, и отрубание всего коннекта здесь неприемлемо.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Прервать долгий запрос
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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