Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Можно ли запихнуть выполнени SQL-запроса в отдельный поток? [D5, IB6.x]


AlexWeb ©   (2003-09-01 13:08:00) 

Как это отразится на работе программы в целом?
Я использую IBX компоненты.


Рамиль   (2003-09-02 15:16:00) [1]

Даже если нет, все равно многопоточный доступ к БД:-D


Zacho   (2003-09-02 13:34:00) [2]


> Рамиль © (02.09.03 13:24) [14]
> Ну значит делает сессии автоматически.

Да нет там вообще никаких сессий :)


Рамиль   (2003-09-02 13:24:00) [3]


> Это для BDE, а у автора вопроса - IBX.

Ну значит делает сессии автоматически.


> Почему ?

Это не будет выолняться в рамках гдавного потока VCL


Zacho   (2003-09-02 12:36:00) [4]


> Рамиль © (02.09.03 11:48) [12]
> 1. Скинуть на форму TSession.
> 3. Ну и собственно новый коннект и настроить его на соотв.
> сессию.

Это для BDE, а у автора вопроса - IBX.

> 2. DataSet не должен быть связан с DataSource;

Почему ?


Рамиль   (2003-09-02 11:48:00) [5]

А собственно что бы запустить в отдельном потоке надо сделать следующее:
1. Скинуть на форму TSession.
2. DataSet не должен быть связан с DataSource;
3. Ну и собственно новый коннект и настроить его на соотв. сессию.


Digitman   (2003-09-02 08:24:00) [6]


> VID


и далеко не "свежее", кстати ... давно известное и не редко используемое многими


VID   (2003-09-01 19:25:00) [7]

To Digitman: хорошее народное решение, здорово ! :)


Digitman   (2003-09-01 15:39:00) [8]

можно.
еслит запрос выполняется в контексте SP и в WHERE-условии проверяет состояние некоего генератора

изменить же состояние генератора можно в отдельном код.потоке на стороне клиента


AlexWeb   (2003-09-01 15:34:00) [9]

> Digitman © (01.09.03 15:23) [7]

А отменить выполнение запроса на сервере можно или нет?


Digitman   (2003-09-01 15:23:00) [10]


> AlexWeb



> Что будет если .. замочить


хреново будет
сервер об этом ничего не знает


AlexWeb   (2003-09-01 15:18:00) [11]

Что будет если при выполнении запроса замочить поток?


MsGuns   (2003-09-01 13:58:00) [12]

>Zacho © (01.09.03 13:52) [4]

Еще не проснулся (вчера трошечки того... до 6 утра);(((

Для параллирования работы сервера недостаточно две транзакции - надо два коннекта.


Zacho   (2003-09-01 13:52:00) [13]


> MsGuns © (01.09.03 13:37) [2]

Если это надо для "параллельного" выполнения нескольких запросов - то не поможет, запросы в контексте одного коннекта выполняются последовательно, независимо от того, в одной они транзакции или в разных.

> АлексейК (01.09.03 13:42) [3]

А что это такое ? Тем более в IBX ?


АлексейК   (2003-09-01 13:42:00) [14]

Делай ассинхронный запрос.


MsGuns   (2003-09-01 13:37:00) [15]

Разделяй обработку транзакциями


Zacho   (2003-09-01 13:24:00) [16]

Насколько знаю, IBX потоконебезопасны, т.ч. для нормальной работы в каждом потоке должен быть свой коннект к БД. К тому же запросы, выполняемые из разных потоков, но в контексте одного коннекта все равно выполняются последовательно.


Наверх

Титульная страница Поиск, карта сайта Написать письмо