Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.16;
Скачать: 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 вся ветка

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

Наверх




Память: 0.46 MB
Время: 0.047 c
7-1080733780
binr
2004-03-31 15:49
2004.05.16
Работа с RS-232


1-1083057757
ByPass
2004-04-27 13:22
2004.05.16
Memory Mapped Port


1-1083588434
Шишкин Илья
2004-05-03 16:47
2004.05.16
Скроллинг в MEMO и RICHEDIT


1-1083304692
able
2004-04-30 09:58
2004.05.16
Транслирование экрана


14-1083187803
Sergix
2004-04-29 01:30
2004.05.16
DLL