Вниз
Скачать: 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.023 c
7-1081502699
valera
2004-04-09 13:24
2004.05.16
Как программ.путем изменить букву логического диска?


1-1083158142
Николай
2004-04-28 17:15
2004.05.16
Как сделать форму невидимой?


8-1077024501
чудо чучкелла
2004-02-17 16:28
2004.05.16
сложный вопрос по программному созданию wave файлов


4-1080024121
npr2
2004-03-23 09:42
2004.05.16
региональные стандарты


8-1077637426
Nomolos
2004-02-24 18:43
2004.05.16
Эквилайзер




   Наверх