Вниз
Скачать: 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
4-1079947689
Rem
2004-03-22 12:28
2004.05.16
Что такое OLE_HANDLE?


6-1080126959
TOleg
2004-03-24 14:15
2004.05.16
Работа с FTP, коннектится но не находит ресурсы


3-1082537942
Vopros
2004-04-21 12:59
2004.05.16
Encrypted dBASE tables как открыть?


3-1082081449
Slavik_v
2004-04-16 06:10
2004.05.16
Как поменять цвет определенной строки в DBGrid?


3-1082642735
RomCom
2004-04-22 18:05
2004.05.16
Поля с данными Null в TQuery+TUpdateSQL




   Наверх