|
|
|
ODAC OraQuery и Progressbar
|
|||
|---|---|---|---|
|
#18+
День добрый! Прошу помощи, может кто имел дело с компонентами ODAC!? Delphi XE3, ODAC 9.0.1, БД Oracle 11.2. Есть следующий код, по нажатию на кнопку. Код: pascal 1. 2. 3. 4. 5. * oraq - компонента TOraQuery Запрос возвращает ~50-100 тыс.строк, выполняется секунд ~10-15. 1. Во время выполнения запроса, приложение "намертво" зависает/блокируется. Возможно ли, каким образом, обойти данную ситуацию? 2. Как отобразить время выполнения запроса на индикации процесса (Progressbar)? События похожего (на progress) я у компонента не нашёл. Есть After/Before Fetch, OnCalcFilelds.. Возможно ли с помощью этих событий отобразить процесс? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2017, 12:16:50 |
|
||
|
ODAC OraQuery и Progressbar
|
|||
|---|---|---|---|
|
#18+
15 секунд -- это еще норма, для такого времени прогресс-бар не обязателен. Можно просто ограничиться курсором-загрузкой. Код: pascal 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2017, 12:25:02 |
|
||
|
ODAC OraQuery и Progressbar
|
|||
|---|---|---|---|
|
#18+
Такая "проблема", а точнее фича есть в любых компонентах. Для решения нужно делать запрос в другом потоке. А в главном потоке отображать в ГУИ и можно делать ч-л еще. И то сам прогресс выполнения хх% получить не удастся. И параллельное обращение к БД тоже придется делать в новом коннекшене, т.к. основной будет занят сабжем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2017, 12:31:23 |
|
||
|
ODAC OraQuery и Progressbar
|
|||
|---|---|---|---|
|
#18+
LSVТакая "проблема", а точнее фича есть в любых компонентах. Для решения нужно делать запрос в другом потоке. А в главном потоке отображать в ГУИ и можно делать ч-л еще. И то сам прогресс выполнения хх% получить не удастся. И параллельное обращение к БД тоже придется делать в новом коннекшене, т.к. основной будет занят сабжем. В DOA есть фича, можно показывать процесс фетча записей на клиента, а в ODAC чего-то не припомню, никогда не требовалось ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2017, 12:50:17 |
|
||
|
ODAC OraQuery и Progressbar
|
|||
|---|---|---|---|
|
#18+
oraqp, Как вариант, можно перед запросом, в отдельном потоке запустить бесконечную анимацию и после окончания фетча всех записей остановить ее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2017, 13:20:00 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=142&tid=2042233]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
72ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 227ms |
| total: | 381ms |

| 0 / 0 |
