powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Прошу оценить специалистов по InterBase ...
11 сообщений из 11, страница 1 из 1
Прошу оценить специалистов по InterBase ...
    #32318682
Novichok-1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поставщик внедряет у нас клиент-серверное ПО (Delphi+InterBase6.0). При неудачно заданных параметрах запроса результаты выборки можно ждать достаточно долго. В ответ на просьбу реализовать в интерфейсе кнопку "Остановить запрос", ответ - "Это невозможно, запрос находится неизвестно где, и т.д. и т.п.". Уместен ли вопрос (в общем случае, без учета конкретики) - действительно данное пожелание невозможно реализовать ???
...
Рейтинг: 0 / 0
Прошу оценить специалистов по InterBase ...
    #32318694
dr100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кажись разводят вас.
Конечно программер должен знать - где что находиться, если конечно он писал данное приложение.
...
Рейтинг: 0 / 0
Прошу оценить специалистов по InterBase ...
    #32318717
gray_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно это сделать, правда многопоточность разработчику вводить придёться.
...
Рейтинг: 0 / 0
Прошу оценить специалистов по InterBase ...
    #32318720
Roman Ignatiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Многопоточность тут не при чем :)
Прервать можно, но это несколько нетрадиционно. Фактически запрос в IB/FB не прерывается даже при снятии коннекта, идет упорно до конца :)
А так - http://www.ibase.ru/devinfo/generator.htm#extra
...
Рейтинг: 0 / 0
Прошу оценить специалистов по InterBase ...
    #32318745
viceroy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извиняюсь конечно, но что-то я никак понять немогу - какая связь между генераторами и остановкой выполняемого на данный момент запроса????
...
Рейтинг: 0 / 0
Прошу оценить специалистов по InterBase ...
    #32318761
viceroy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прошу прощения - все понятно! (не полностью загрузилась страница - нет глючит)
...
Рейтинг: 0 / 0
Прошу оценить специалистов по InterBase ...
    #32319216
vovan1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Ignatiev:

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

В своих программах я запускаю запрос в оттдельном Thread-е и в случае отмены данного запроса пользователя просто убиваю поток.

А насчет "Фактически запрос в IB/FB не прерывается даже при снятии коннекта, идет упорно до конца" я не полностью согласен, есть определенный timeout на выполнение запроса.
...
Рейтинг: 0 / 0
Прошу оценить специалистов по InterBase ...
    #32319232
vovan1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если очень хочется использовать генераторы на несколько клиентов то можно изворотится так:
Каждый бит соответствует клиенту, а значение 0 или 1 соответственно указывает прерывание пользователем запроса.

Тогда запрос будет выглядеть:
SELECT *
FROM t
WHERE GETBIT(GEN_ID(gen,:KOMP_NUMBER)=0,

Перед выполнение запроса и при прерывании нужно устанавливать только соответствующий бит, не трогая остальных, т.е.
1. Получить значение генератора
2. Установить нужный бит
3. Установить новое значение генератора
...
Рейтинг: 0 / 0
Прошу оценить специалистов по InterBase ...
    #32319258
Roman Ignatiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2vovan1
Там, если почитать, указаны пути для многопользовательской работы, и в том числе можно и биты, конечно, проверять, но не лучше ли считать диапазонами, не применяя GETBIT?
А вот потоки убивать я бы не советовал. Чем, он же ждет результата? TerminateThread? Вот уж точно не надо, везде написано, что делает эта процедура.
Да и рвать соединение с IB очень не рекомендуется.
НАсчет таймаута - работает, по всей видимости, dummi packets, когда сервер обнаруживает, что клиент отвалился.
...
Рейтинг: 0 / 0
Прошу оценить специалистов по InterBase ...
    #32319463
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как вариант.... если большие и толстые запросы выполняются в ХП, то можно написать UDF, которая будет ловить сообщения клиента и сообщать проце о том что надо срочно завершить работу
...
Рейтинг: 0 / 0
Прошу оценить специалистов по InterBase ...
    #32320701
Фотография Alexey Kovyazin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделать можно, но очень трудно и толку не принесет - глупая фича, идея фикс.
Как я понимаю, копать надо в других направлениях:

1) Оптимизация запросов. Если в БД не десятки гигабайт, если это не самписный OLAP и сервер нe 166ММХ, то запросы должны выполняться нормально (о кнопке "остановка" подумать серьезно не плучится). Используйте порционную выдачу результатов и т.д.
2) Многопоточный User Interface - показывать чего-нибдуь вроде градусника или веселых картинок при торможении БД :)


Кстати, что за софт? Какая компания?

With best regards,
Alexey Kovyazin
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Прошу оценить специалистов по InterBase ...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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