Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.22;
Скачать: CL | DM;

Вниз

Можно ли запихнуть выполнени SQL-запроса в отдельный поток?   Найти похожие ветки 

 
AlexWeb   (2003-09-01 13:08) [0]

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


 
Zacho ©   (2003-09-01 13:24) [1]

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


 
MsGuns ©   (2003-09-01 13:37) [2]

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


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

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


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


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

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

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

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


 
MsGuns ©   (2003-09-01 13:58) [5]

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

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

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


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

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


 
Digitman ©   (2003-09-01 15:23) [7]


> AlexWeb



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


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


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

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

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


 
Digitman ©   (2003-09-01 15:39) [9]

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

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


 
VID ©   (2003-09-01 19:25) [10]

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


 
Digitman ©   (2003-09-02 08:24) [11]


> VID


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


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

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


 
Zacho ©   (2003-09-02 12:36) [13]


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

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

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

Почему ?


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


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

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


> Почему ?

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


 
Zacho ©   (2003-09-02 13:34) [15]


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

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


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

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



Страницы: 1 вся ветка

Текущий архив: 2003.09.22;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.03 c
3-71488
Жорж
2003-09-01 16:34
2003.09.22
Базы данных


14-71834
Skier
2003-09-01 17:46
2003.09.22
Как вам Ярцев в качестве тренера сб. России ?


3-71497
www
2003-09-01 14:24
2003.09.22
Сохранение изменений в форме


11-71569
microlab
2003-01-15 18:59
2003.09.22
Помогите!!!


6-71810
borg
2003-07-16 08:49
2003.09.22
mailto