Главная страница
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.038 c
7-71973
Goblinus
2003-07-10 02:22
2003.09.22
Скопировать загрузочный сектор


8-71778
Inna
2003-05-22 13:59
2003.09.22
Мигание


14-71931
VEG
2003-09-02 20:11
2003.09.22
Не поверите!!!


7-71965
WarLord
2003-07-08 12:56
2003.09.22
Работа по COM-порту с торговыми весами


1-71640
ah
2003-09-09 10:17
2003.09.22
использую edit для индикации , как устранить возможность