Вниз
Скачать: CL | DM;

Thread ADO Oracle - Необходимо во время запроса параллельно счи   Найти похожие ветки 

← →
helimos   (2004-04-23 10:27) [0]

Люди help!

Необходимо во время запроса  параллельно считывать
служебную информацию из БД(Oracle 8.1.7).
Работаю через ADO. Delphi7.
Проблемма в том
1) Oracle OLEDB и ADO работает не поддерживает асинхронную передачу с помощью , т.е.
OnFetchProgress и OnFetchComplete не выполняются.
Что провайдер Oracle, что провайдер от Microsoft - результат один.

Пробовал разные настройки ADOConnection и ADOQuery.

Но, как я понимаю, они должны быть:
ADOConnection:
ConnectOptions=coAsyncConnect
CursorLocation=clUseServer

ADOQuery:
ExecuteOptions=[eoAsyncExecute,eoAsyncFetch]

2)Пробовал в параллель пустить Tread,
В обработчике OnWillExecute запускается Tread.
Но проблемма в том, что  основной запрос блокирует этот Tread.

Несмотря на то, что я выставлял в

ADOQuery:
ExecuteOptions=[eoAsyncFetchNonBlocking] которая по идее
- Execution is performed without blocking the thread.

Или я чего-то не понял?

Все-таки сделал с помощью отдельного процесса(*.exe) и ShellExecute, но получилось
совсем неграмотно, коряво и криво.

Так что люди help! Заранее благодарен всем да и наверное
не только я.


← →
roottim   (2004-04-23 12:03) [1]

сделал небольшой тест с ода и провайдером от оакула.
1 запрос в отдельной нитке выполняющийся долго
2 запрос короткий (справочник) (в основной нитке приложения)
настройки твои.. асинхронный запрос выполнился ( и тот и другой )



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.034 c
14-1082715200
lika
2004-04-23 14:13
2004.05.16
Исходники почтового клиента


1-1082932406
Мыш
2004-04-26 02:33
2004.05.16
Перестал компилироваться пакет


3-1082101959
Жук
2004-04-16 11:52
2004.05.16
Label.Caption не отображается вовремя


1-1083579203
nova5
2004-05-03 14:13
2004.05.16
помогите разобраться со стеком


3-1082010241
Relaxxx
2004-04-15 10:24
2004.05.16
Как сделать ProgressBar на выполнение запроса???




   Наверх