Форум: "Базы";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.036 c