powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / ADO + Oracle + многократный парсинг
66 сообщений из 66, показаны все 3 страниц
ADO + Oracle + многократный парсинг
    #35034140
KoTTT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть несколько приложений на Delphi, которые цепляются к ораклу через ADO.
У этого ADO помимо прочего, есть очень неприятная привычка много раз парсить запросы к базе.
Например:
Из приложения делается запрос вида
Код: plaintext
select field from table where...
В трассировке оракла ясно видим 2 разбора (parse calls) подряд. После второго уже идут exec и fetch.

Дальше. Если запрос к нескольким таблицам
Код: plaintext
select ... from table1, table2, table3 where...
там веселее: разбор самого запроса + разборы запросов
Код: plaintext
1.
2.
select * from table1;
select * from table2;
select * from table3;
и наконец exec и fetch.

Если DML
Код: plaintext
insert into table1 ...
то имеем 3(!) разбора этого оператора.
Погуглил и нашел одинокий вопрос на форуме MS от 2001 года. Понятное дело - без ответов...
Кто-нибудь боролся с таким идиотским поведением ADO?
Я не разработчик, но они здесь рядом и самостоятельно пока не могут решить эту проблему. А меня, как DBA, такое кол-во "холостых" парсов в базе не устраивает.
Хорошо хоть автокоммиты уже увидели и отключили, так же как и втыкание куда попало ROWID.
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35034157
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если вы планируете работать только с Oracle (хотя да же если и не только), то бегом от ADO.
Есть AnyDAC, ODAC, DOA - вот их и используйте. Почему - попробуйте, сами поймете через
5 минут :)
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35034163
KoTTT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не разработчик.
Но ситуация такая, что софт большой, написан под ADO. Переписывать целиком под что-то другое - нереально. Задача как-то "уговорить" ADO "вести себя прилично".
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35034167
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KoTTTДальше. Если запрос к нескольким таблицам
Код: plaintext
select ... from table1, table2, table3 where...
там веселее: разбор самого запроса + разборы запросов
Код: plaintext
1.
2.
select * from table1;
select * from table2;
select * from table3;
и наконец exec и fetch.А всё действительно так страшно? Последние три запроса выполняются каждый раз перед "select ... from table1, table2, table3 where..." или только первый раз?
Кстати, там есть обращения к USER_SOURCE / ALL_SOURCE?
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35034173
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
т.е. не к andreymxКстати, там есть обращения к USER_SOURCE / ALL_SOURCE?, а к ***_tables/**_tab_columns и т.д.?
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35034176
KoTTT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymx KoTTTДальше. Если запрос к нескольким таблицам
Код: plaintext
select ... from table1, table2, table3 where...
там веселее: разбор самого запроса + разборы запросов
Код: plaintext
1.
2.
select * from table1;
select * from table2;
select * from table3;
и наконец exec и fetch.А всё действительно так страшно? Последние три запроса выполняются каждый раз перед "select ... from table1, table2, table3 where..." или только первый раз?
Кстати, там есть обращения к USER_SOURCE / ALL_SOURCE?
Каждый раз. Но они не выполняются, они только разбираются (parse call) .
К USER_SOURCE / ALL_SOURCE обращений нет. Да и откуда им тут взяться? Хотя... Этот ADO и так чудеса творит...
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35034177
KoTTT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymxт.е. не к andreymxКстати, там есть обращения к USER_SOURCE / ALL_SOURCE?, а к ***_tables/**_tab_columns и т.д.?
И этого нет.
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35034207
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чудак человек. дай ка трассу запосов, а то по твоему описанию хрен поймешь

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35034239
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
скорее всего трассу перепутал :)
______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35034292
KoTTT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrowчудак человек. дай ка трассу запосов, а то по твоему описанию хрен поймешь
Чего тут непонятного? Трасса такого вида:
1 вариант. Простой селект
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
PARSING  IN  CURSOR # 1  len= 31  dep= 0  uid= 24  oct= 3  lid= 24  tim= 10424795808230  hv= 2866028057  ad='b5a40c50'
select sysdate  as  t from dual 
 END   OF  STMT
PARSE # 1 :c= 0 ,e= 154 ,p= 0 ,cr= 0 ,cu= 0 ,mis= 0 ,r= 0 ,dep= 0 ,og= 3 ,tim= 10424795806856 
WAIT # 1 : nam='SQL*Net message to client' ela=  3  p1= 1413697536  p2= 1  p3= 0 
WAIT # 1 : nam='SQL*Net message from client' ela=  242  p1= 1413697536  p2= 1  p3= 0 
WAIT # 1 : nam='SQL*Net message to client' ela=  1  p1= 1413697536  p2= 1  p3= 0 
WAIT # 1 : nam='SQL*Net message from client' ela=  394  p1= 1413697536  p2= 1  p3= 0 
=====================
PARSING  IN  CURSOR # 1  len= 31  dep= 0  uid= 24  oct= 3  lid= 24  tim= 10424795809526  hv= 2866028057  ad='b5a40c50'
select sysdate  as  t from dual 
 END   OF  STMT
PARSE # 1 :c= 0 ,e= 81 ,p= 0 ,cr= 0 ,cu= 0 ,mis= 0 ,r= 0 ,dep= 0 ,og= 3 ,tim= 10424795809519 
WAIT # 1 : nam='SQL*Net message to client' ela=  2  p1= 1413697536  p2= 1  p3= 0 
WAIT # 1 : nam='SQL*Net message from client' ela=  200  p1= 1413697536  p2= 1  p3= 0 
WAIT # 1 : nam='SQL*Net message to client' ela=  2  p1= 1413697536  p2= 1  p3= 0 
WAIT # 1 : nam='SQL*Net message from client' ela=  196  p1= 1413697536  p2= 1  p3= 0 
BINDS # 1 :
EXEC # 1 :c= 0 ,e= 150 ,p= 0 ,cr= 0 ,cu= 0 ,mis= 0 ,r= 0 ,dep= 0 ,og= 3 ,tim= 10424795810460 
WAIT # 1 : nam='SQL*Net message to client' ela=  2  p1= 1413697536  p2= 1  p3= 0 
WAIT # 1 : nam='SQL*Net message from client' ela=  341  p1= 1413697536  p2= 1  p3= 0 
WAIT # 1 : nam='SQL*Net message to client' ela=  3  p1= 1413697536  p2= 1  p3= 0 
FETCH # 1 :c= 0 ,e= 163 ,p= 0 ,cr= 3 ,cu= 0 ,mis= 0 ,r= 1 ,dep= 0 ,og= 3 ,tim= 10424795811251 
WAIT # 1 : nam='SQL*Net message from client' ela=  1644478  p1= 1413697536  p2= 1  p3= 0 

Второй вариант. Селект из нескольких таблиц:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
PARSING  IN  CURSOR # 4  len= 1841  dep= 0  uid= 24  oct= 3  lid= 24  tim= 10424817998011  hv= 2768689548  ad='8f5af7b8'
 select ............................... from t1, t2 where ............................ 
 END   OF  STMT
PARSE # 4 :c= 0 ,e= 520 ,p= 0 ,cr= 0 ,cu= 0 ,mis= 0 ,r= 0 ,dep= 0 ,og= 3 ,tim= 10424817998008 
WAIT # 4 : nam='SQL*Net message to client' ela=  1  p1= 1413697536  p2= 1  p3= 0 
WAIT # 4 : nam='SQL*Net message from client' ela=  211  p1= 1413697536  p2= 1  p3= 0 
WAIT # 4 : nam='SQL*Net message to client' ela=  1  p1= 1413697536  p2= 1  p3= 0 
WAIT # 4 : nam='SQL*Net message from client' ela=  565  p1= 1413697536  p2= 1  p3= 0 
=====================
PARSING  IN  CURSOR # 4  len= 18  dep= 0  uid= 24  oct= 3  lid= 24  tim= 10424817999179  hv= 4170230875  ad='f7e92598'
select * from t1
 END   OF  STMT
PARSE # 4 :c= 0 ,e= 26 ,p= 0 ,cr= 0 ,cu= 0 ,mis= 0 ,r= 0 ,dep= 0 ,og= 3 ,tim= 10424817999176 
WAIT # 4 : nam='SQL*Net message to client' ela=  0  p1= 1413697536  p2= 1  p3= 0 
WAIT # 4 : nam='SQL*Net message from client' ela=  216  p1= 1413697536  p2= 1  p3= 0 
WAIT # 4 : nam='SQL*Net message to client' ela=  1  p1= 1413697536  p2= 1  p3= 0 
WAIT # 4 : nam='SQL*Net message from client' ela=  567  p1= 1413697536  p2= 1  p3= 0 
=====================
PARSING  IN  CURSOR # 4  len= 28  dep= 0  uid= 24  oct= 3  lid= 24  tim= 10424818000273  hv= 820958625  ad='d1c8d678'
select * from t2
 END   OF  STMT
PARSE # 4 :c= 0 ,e= 23 ,p= 0 ,cr= 0 ,cu= 0 ,mis= 0 ,r= 0 ,dep= 0 ,og= 3 ,tim= 10424818000269 
WAIT # 4 : nam='SQL*Net message to client' ela=  0  p1= 1413697536  p2= 1  p3= 0 
WAIT # 4 : nam='SQL*Net message from client' ela=  178  p1= 1413697536  p2= 1  p3= 0 
WAIT # 4 : nam='SQL*Net message to client' ela=  1  p1= 1413697536  p2= 1  p3= 0 
WAIT # 4 : nam='SQL*Net message from client' ela=  564  p1= 1413697536  p2= 1  p3= 0 
WAIT # 4 : nam='SQL*Net message to client' ela=  0  p1= 1413697536  p2= 1  p3= 0 
WAIT # 4 : nam='SQL*Net message from client' ela=  491  p1= 1413697536  p2= 1  p3= 0 
=====================
PARSING  IN  CURSOR # 4  len= 1841  dep= 0  uid= 24  oct= 3  lid= 24  tim= 10424818002448  hv= 2768689548  ad='8f5af7b8'
 select ............................... from t1, t2 where ............................ 
 END   OF  STMT
PARSE # 4 :c= 0 ,e= 282 ,p= 0 ,cr= 0 ,cu= 0 ,mis= 0 ,r= 0 ,dep= 0 ,og= 3 ,tim= 10424818002445 
WAIT # 4 : nam='SQL*Net message to client' ela=  1  p1= 1413697536  p2= 1  p3= 0 
WAIT # 4 : nam='SQL*Net message from client' ela=  289  p1= 1413697536  p2= 1  p3= 0 
WAIT # 4 : nam='SQL*Net message to client' ela=  4  p1= 1413697536  p2= 1  p3= 0 
WAIT # 4 : nam='SQL*Net message from client' ela=  281  p1= 1413697536  p2= 1  p3= 0 
BINDS # 4 :
.......................
EXEC # 4 :c= 10000 ,e= 8748 ,p= 0 ,cr= 0 ,cu= 0 ,mis= 0 ,r= 0 ,dep= 0 ,og= 3 ,tim= 10424818012589 
WAIT # 4 : nam='SQL*Net message to client' ela=  2  p1= 1413697536  p2= 1  p3= 0 
WAIT # 4 : nam='SQL*Net message from client' ela=  316  p1= 1413697536  p2= 1  p3= 0 
WAIT # 4 : nam='db file sequential read' ela=  9986  p1= 174  p2= 1412248  p3= 1 
.......................
FETCH # 4 :c= 180000 ,e= 2959455 ,p= 403 ,cr= 2289 ,cu= 0 ,mis= 0 ,r= 4 ,dep= 0 ,og= 3 ,tim= 10424820972601 
........................

DML:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
=====================
PARSING  IN  CURSOR # 6  len= 77  dep= 0  uid= 24  oct= 7  lid= 24  tim= 10424812766889  hv= 3825609337  ad='26f5b510'
delete from t3 where ............
 END   OF  STMT
PARSE # 6 :c= 0 ,e= 182 ,p= 0 ,cr= 0 ,cu= 0 ,mis= 0 ,r= 0 ,dep= 0 ,og= 3 ,tim= 10424812766883 
WAIT # 6 : nam='SQL*Net message to client' ela=  2  p1= 1413697536  p2= 1  p3= 0 
WAIT # 6 : nam='SQL*Net message from client' ela=  306  p1= 1413697536  p2= 1  p3= 0 
=====================
PARSING  IN  CURSOR # 6  len= 77  dep= 0  uid= 24  oct= 7  lid= 24  tim= 10424812767616  hv= 3825609337  ad='26f5b510'
delete from t3 where ............
 END   OF  STMT
PARSE # 6 :c= 0 ,e= 63 ,p= 0 ,cr= 0 ,cu= 0 ,mis= 0 ,r= 0 ,dep= 0 ,og= 3 ,tim= 10424812767610 
WAIT # 6 : nam='SQL*Net message to client' ela=  2  p1= 1413697536  p2= 1  p3= 0 
WAIT # 6 : nam='SQL*Net message from client' ela=  221  p1= 1413697536  p2= 1  p3= 0 
=====================
PARSING  IN  CURSOR # 6  len= 77  dep= 0  uid= 24  oct= 7  lid= 24  tim= 10424812768270  hv= 3825609337  ad='26f5b510'
delete from t3 where ............
 END   OF  STMT
PARSE # 6 :c= 0 ,e= 63 ,p= 0 ,cr= 0 ,cu= 0 ,mis= 0 ,r= 0 ,dep= 0 ,og= 3 ,tim= 10424812768263 
WAIT # 6 : nam='SQL*Net message to client' ela=  2  p1= 1413697536  p2= 1  p3= 0 
WAIT # 6 : nam='SQL*Net message from client' ela=  198  p1= 1413697536  p2= 1  p3= 0 
BINDS # 6 :
EXEC # 6 :c= 250000 ,e= 243724 ,p= 0 ,cr= 11861 ,cu= 0 ,mis= 0 ,r= 0 ,dep= 0 ,og= 3 ,tim= 10424813012466 
WAIT # 6 : nam='SQL*Net message to client' ela=  8  p1= 1413697536  p2= 1  p3= 0 
WAIT # 6 : nam='SQL*Net message from client' ela=  397  p1= 1413697536  p2= 1  p3= 0 
STAT # 6  id= 1  cnt= 0  pid= 0  pos= 1  obj= 0  op='DELETE  '
STAT # 6  .......................................
WAIT # 6 : nam='SQL*Net message to client' ela=  2  p1= 1413697536  p2= 1  p3= 0 
WAIT # 6 : nam='SQL*Net message from client' ela=  212  p1= 1413697536  p2= 1  p3= 0 
XCTEND rlbk= 0 , rd_only= 1 
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35034318
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у ADO может быть 2 провайдера (MS и Oracl'e)
______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35034340
KoTTT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Microsoft OLE DB Provider for Oracle
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35034369
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KoTTTMicrosoft OLE DB Provider for Oracle
в ADOConnection поставь провайдера Oracle - ничего переписывать ненадо.
MS в Oracle как свинья в апельсинах.
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35034492
KoTTT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо. Будем пробовать.
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35034570
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123MS в Oracle как свинья в апельсинах.
Хуже - старая свинья, так как использует OCI7.
Да и Oracle в OLEDB не Мастер :)
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35034585
KoTTT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробовали Oracle Data Provider for OLE DB 9.2 - ситуация не изменилась.
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35034636
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KoTTTПопробовали Oracle Data Provider for OLE DB 9.2 - ситуация не изменилась.
я бы не стал так категорично:
- сравните план по скорости ADO|TOAD ADO|PSQL ADO|ASQLPLUS ADO|...

Вы не парсинг Oracla и его оптимизатор строите а приложение
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35034647
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KoTTT
Я не разработчик, но они здесь рядом и самостоятельно пока не могут решить эту проблему.

====== разговаривайте с ними на одном языке

А меня, как DBA, такое кол-во "холостых" парсов в базе не устраивает.

======= вы уверены в своей квалификации?

Хорошо хоть автокоммиты уже увидели и отключили,

====== чем они плохи?

так же как и втыкание куда попало ROWID.

==== например?
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35034661
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KoTTTПопробовали Oracle Data Provider for OLE DB 9.2 - ситуация не изменилась.
как DBA лучше бы поставили свежее :)
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35034766
KoTTT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давайте по порядку.
Вы не парсинг Oracla и его оптимизатор строите а приложение
Я ничего не строю. Я стремлюсь добиться того, чтобы с ораклом приложение работало корректно. И при этом не создавая лишней нагрузки в качестве "подарка".
А меня, как DBA, такое кол-во "холостых" парсов в базе не устраивает.
======= вы уверены в своей квалификации?
Какой ответ вы ожидате получить?

Хорошо хоть автокоммиты уже увидели и отключили,
====== чем они плохи?
Автокоммит - зло. Создающее опять же лишнюю нагрузку и вдобавок "незванное" (коммит я делаю тогда, когда надо мне , а не какому-то ADO).

так же как и втыкание куда попало ROWID.
==== например?
Запрос вида
Код: plaintext
select field from table
мало того, что парсится 2 раза, так еще и создает своего брата-близнеца
Код: plaintext
select rowid, field from table
который опять же два раза парсится.

как DBA лучше бы поставили свежее :)
Да похоже, что с OLE DB и так все понятно. Не думаю, что в 10-й версии что-то изменилось.
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35034833
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автокоммит можно отключить свойствами ADO ( транзакции станут длиннее )
причём тут ADO?

rowid вероятно из-за типа курсора для правки а не для чтения (можно отключить свойствами ADO )
причём тут ADO?
______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35034855
KoTTT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123автокоммит можно отключить свойствами ADO ( транзакции станут длиннее )
причём тут ADO?

rowid вероятно из-за типа курсора для правки а не для чтения (можно отключить свойствами ADO )
причём тут ADO?
Я выше писал, что это нашли и исправили.
Причем тут ADO? Ни при чем. Косяк разработки.
Вот если бы вы еще показали, как можно отключить свойствами ADO эти двойные разборы запросов, было бы совсем хорошо. Я собственно ради этого тему и открыл.
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35034958
Фотография Альт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
с 2005 года не работал с ado, но есть мысль, что можно поколупаться в направлении неких Prepare... т.к. легко вспоминается необходимость внесения изменений например в тот же InternalInitFieldDefs из ADODB (немного другая тема... да и базы были mssql)
подспорьем в разбирательствах будет наличие у вас того же бесплатного BetterADO от http://betterado.hit.bg/ ... ну и msdn само собой... (посоветовал бы заглянуть и в исходники SDAC, но уже не принципиально)
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35034999
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KoTTT Petro123автокоммит можно отключить свойствами ADO ( транзакции станут длиннее )
причём тут ADO?

rowid вероятно из-за типа курсора для правки а не для чтения (можно отключить свойствами ADO )
причём тут ADO?
Я выше писал, что это нашли и исправили.
Причем тут ADO? Ни при чем. Косяк разработки.
Вот если бы вы еще показали, как можно отключить свойствами ADO эти двойные разборы запросов, было бы совсем хорошо. Я собственно ради этого тему и открыл.
- думаю, транзакции должны быть как можно короче (автокоммит сразу)
- для вторичного парсинга надо убедится что приложение не отправляет запрос 2 раза

тест - НОВЫЙ exe
Код: plaintext
1.
2.
3.
q := TADOQuery.Create
q.Conn := conn;
q.SQL.text := 'select ... from table1, table2, table3 where...';
q.Open;

трейс1 сюда (хотя я в них несилён)

Код: plaintext
q.Close;

трейс2 сюда (хотя я в них несилён)
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35035012
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
- научи программистов делать трейс сразу справа на экране в динамике (в Oracle вроде проблема с этим).
- будут знать, какие действия на сервере вызывает кнопка ТипКурсора в TADOQuery
______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35035036
KoTTT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
- думаю, транзакции должны быть как можно короче (автокоммит сразу)
Возможно, что в других базах это и так. В оракле - нет.

Что касается теста, так именно подобные и проводили. И я уверен, что приложение именно отправляет запрос 2 раза (или больше - по ситуации). Один раз на разбор, а второй раз - на выполнение. Возможно ADO таким образом какие-то проверки проводит или что-то подобное. К сожалению, в базах отличных от оракла я ноль без палочки, поэтому не могу даже предположить, откуда такое поведение взялось у ADO. Может быть дело все в стремлении все сделать "универсально" для всех БД.

- научи программистов делать трейс сразу справа на экране в динамике (в Oracle вроде проблема с этим).
- будут знать, какие действия на сервере вызывает кнопка ТипКурсора в TADOQuery
Попрошу. А что этот трэйс выводит?
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35035058
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123- думаю, транзакции должны быть как можно короче (автокоммит сразу)1. Для Оракла это некритично.
2. Эта тема больше для другой конференции
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35035084
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KoTTT - думаю, транзакции должны быть как можно короче (автокоммит сразу)
Возможно, что в других базах это и так. В оракле - нет.

Что касается теста, так именно подобные и проводили. И я уверен, что приложение именно отправляет запрос 2 раза (или больше - по ситуации). Один раз на разбор, а второй раз - на выполнение. Возможно ADO таким образом какие-то проверки проводит или что-то подобное. К сожалению, в базах отличных от оракла я ноль без палочки, поэтому не могу даже предположить, откуда такое поведение взялось у ADO. Может быть дело все в стремлении все сделать "универсально" для всех БД.

- научи программистов делать трейс сразу справа на экране в динамике (в Oracle вроде проблема с этим).
- будут знать, какие действия на сервере вызывает кнопка ТипКурсора в TADOQuery
Попрошу. А что этот трэйс выводит?
- а как же знаменитая ошибка про устаревший снимок?
- приложение состоит из компонетов доступа и провайдера. Так надо узнать, компонент виноват (DevExpress|....) или провайдер (ADO).
- в MS SQL Server есть Profiler, который показывает отправку на сервер того, что делаешь в проге на левой стороне экрана
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35035103
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>а как же знаменитая ошибка про устаревший снимок
это немного из другой оперы. и эта ошибка считается косяком DBA а не
разработчиков

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35035110
KoTTT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123- а как же знаменитая ошибка про устаревший снимок?
- приложение состоит из компонетов доступа и провайдера. Так надо узнать, компонент виноват (DevExpress|....) или провайдер (ADO).
- в MS SQL Server есть Profiler, который показывает отправку на сервер того, что делаешь в проге на левой стороне экрана
Ошибка осталась (хоть и вероятность ее появления в оракле 9 и выше сильно уменьшилась), но как и раньше она - не ошибка сервера, а ошибка разработки/администрирования. Коммит - не средство ее устранения. Скорее даже наоборот.
Ну и собственно сейчас речь же не об этом.
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35035115
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123- а как же знаменитая ошибка про устаревший снимок?
Как раз Ваш любимый автокоммит - лучший способ ее добиться. В целом, кстати, "знаменитая ошибка про устаревший снимок" - отличный способ отделить "слышавших звон".

Petro123- приложение состоит из компонетов доступа и провайдера. Так надо узнать, компонент виноват (DevExpress|....)
DevExpress?? Ну-ну.

Petro123- в MS SQL Server есть Profiler, который показывает отправку на сервер того, что делаешь в проге на левой стороне экрана
И?
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35035158
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вообще вспомнается что пару лет назад были разговоры про то что ADO второе
соединение открывает. но именно про соединение, не про запрос

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35035159
Entaro Adun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123 (ADO).
- в MS SQL Server есть Profiler, который показывает отправку на сервер того, что делаешь в проге на левой стороне экрана
Для Oracle есть OCIDebugger
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35035167
KoTTT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrow
вообще вспомнается что пару лет назад были разговоры про то что ADO второе
соединение открывает. но именно про соединение, не про запрос

Posted via ActualForum NNTP Server 1.4
У нас одно.
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35035171
KoTTT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Entaro Adun Petro123 (ADO).
- в MS SQL Server есть Profiler, который показывает отправку на сервер того, что делаешь в проге на левой стороне экрана
Для Oracle есть OCIDebugger
Подробнее можно? Что именно он делает?
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35035176
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы можете попытаться разобраться в происходящем, если настаиваете. Для этого потребуется влезть в OCI8. Алгоритм следующий:
- ищете и находите в google средство трассировки OCI вызовов
- запускаете OCI трассировщик
- запускаете тестовый пример из под отладчика
- включаете Oracle трассировку в сессии
- проходитесь в отладчике по вызову TADODataSet.Open
- далее сопоставляете вызовы ADO API, Oracle трассировку и OCI трассировку

Далее вам будет ясно, какой вызов ADO API привел к каким вызовам OCI, и к чему они привели на сервере.

Вот только хрен что вы с этим пониманием сделаете - продукт то закрытый. А то что Oracle OLEDB провайдер слишком умничает и мало контролируем - это факт практически установленный.
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35035201
Entaro Adun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для Oracle есть OCIDebugger
KoTTT
Подробнее можно? Что именно он делает?
Показывает все обращения к серверу.
Домашняя сраничка вроде устарела, тут можно взять
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35035205
KoTTT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry ArefievВот только хрен что вы с этим пониманием сделаете - продукт то закрытый. А то что Oracle OLEDB провайдер слишком умничает и мало контролируем - это факт практически установленный.
Давайте поставим вопрос так: если ничего с таким поведением ADO мы сделать не в силах, то в какую сторону двигать разработчиков? На оракле написано, что под винду самый быстрый и "честный" метод - это OO4O.
Because it is a native driver, OO4O generally provides the fastest performance on Windows clients to Oracle databases. It does not incur the overhead of ODBC and OLE DB drivers. OO4O has been developed and has evolved specifically for use with Oracle database servers. It provides easy access to features that are unique to Oracle, but are otherwise cumbersome or inaccessible to use from ODBC and OLE DB-based components, such as ADO.
Но есть еще и такой момент, как затраты на переписывание готового кода с ADO на OO4O. Как я понимаю, там идеология абсолютно другая?
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35035217
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
смею вас уверить что замедление как и ускорения от изменения драйвера вы не
заметите.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35035228
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хоть кто-то подключился к разговору :)
- что, красиво делать на клиенте beginTran и уйти обедать? Хотя это оффтоп
- мне тоже нужно средство типа Profiler от MS. Оно идёт в составе сервера как SQLPlus и не требует запуска приложения под отладчиком.
Как это сделать на Oracl'e (с минимальными напрягами?)

ЗЫ. Просто так пенять на прова - незачем.
______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35035231
KoTTT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrow
смею вас уверить что замедление как и ускорения от изменения драйвера вы не
заметите.

Posted via ActualForum NNTP Server 1.4
Ну скорость в данном случае - действительно не самое главное.
Какие еще есть варианты, кроме OO4O? ODP не подойдет.
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35035234
Entaro Adun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KoTTTНо есть еще и такой момент, как затраты на переписывание готового кода с ADO на
Имхо не все так страшно...) С BDE переходили,а это хужее - прогоняли исходники через PERL поправляя общие места, ну и естественно дотачивалось "напильником"...
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35035237
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrow
смею вас уверить что замедление как и ускорения от изменения драйвера вы не
заметите.

Posted via ActualForum NNTP Server 1.4
+1
"разруха в головах а не клозетах" :)
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35035240
KoTTT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123хоть кто-то подключился к разговору :)
- что, красиво делать на клиенте beginTran и уйти обедать? Хотя это оффтоп
- мне тоже нужно средство типа Profiler от MS. Оно идёт в составе сервера как SQLPlus и не требует запуска приложения под отладчиком.
Как это сделать на Oracl'e (с минимальными напрягами?)

ЗЫ. Просто так пенять на прова - незачем.
Да хоть в другой город уехать :-)

Про профайлер не до конца понятно. Что он делает? На какой стороне работает? Хотя это тоже оффтоп :-)
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35035246
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>кроме OO4O? ODP
ODAC

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35035254
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Entaro Adun Для Oracle есть OCIDebugger
KoTTT
Подробнее можно? Что именно он делает?
Показывает все обращения к серверу.
Домашняя сраничка вроде устарела, тут можно взять
битая ссылка
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35035264
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KoTTTс ADO на OO4O. Как я понимаю, там идеология абсолютно другая?
Правильно понимаете. Вам будет несравнимо более дешево и быстро перейти на одну из библиотек, названных в моем первом ответе вам.
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35035269
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123 ScareCrow
смею вас уверить что замедление как и ускорения от изменения драйвера вы не
заметите.
+1

- 10. Кто больше ? :)
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35035284
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
самое забавное, что он про скорость вообще ничего не говорит (это не главный критерий)
Если ты сервер - несуетись под клиентом (с) ______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35035289
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry Arefiev
Вот вам картинка . Не как объективный критерий, а что бы понять порядок
цифр при смене Oracle & ADO на одну из названных мною либ.
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35035293
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KoTTT
Давайте поставим вопрос так: если ничего с таким поведением ADO мы сделать не в силах, то в какую сторону двигать разработчиков?
это прерогатива менеджмента (там другие критерии)
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35035297
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123что он про скорость вообще ничего не говорит (это не главный критерий)
Как же так, если он беспокоиться о лишней нагрузке на сервер ? Его как админа
волнует масштабируемость приложения, а значит и скорость, в частности, при
большом кол-ве клиентов :)
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35035300
Entaro Adun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123
битая ссылка
Действительно... http://mantiscorp.cjb.net домашней тоже нет, но нагуглить ее думаю можно
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35035312
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry Arefiev Dmitry Arefiev
Вот вам картинка . Не как объективный критерий, а что бы понять порядок
цифр при смене Oracle & ADO на одну из названных мною либ. второй критерий:
- наличие разных методов и технологий в обёртке? (скока чел-час на переписывание 1000....строк кода)
- наличие конвертера ....

Ну а вдруг? Мелочь, а приятно :)
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35035322
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Entaro Adun Petro123
битая ссылка
Действительно... http://mantiscorp.cjb.net домашней тоже нет, но нагуглить ее думаю можно
а он не цепляется к приложению? т.е. просто показывает коннекты сервера и запросы по ним?
Бесплатен или крякер искать?
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35035337
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Аффтар!
Вот у меня с ADO другая проблема(спроси у программёров)
- как вернуть курсор на клиента из ХП обычными ADOQuery|Comman|Procedure ?
Ни одного чела невидел в сети, кто это сделал )

Как у Вас там работает вообще :)
______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35035367
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123скока чел-час на переписывание 1000....строк кода
Я вам так скажу.
1) Я конвертил мериады кода с BDE на AnyDAC, потом с AnyDAC на ADO, потом снова на AnyDAC. На хрена - не спрашивайте, не наше с вами дело :) Короче неделя в одном направлении с использованием конвертера. Думаю то же справедливо и для ODAC.
2) Про курсорные настройки ADO в случае с Oracle можно почти забыть. У него есть только один тип курсора.
3) Код, использующий API, потребуется конвертить 100% в ручную.
4) Во многие редактируемые запросы придется воткнуть ROWID, если это еще не сделано. Или компоненты XYZ начнут спрашивать про PK.
5) Возникнут расхождения между типами полей, возвращаемыми ADO и компонентами XYZ. В AnyDAC это решается тривиально. Как в ODAC - не знаю.
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35035394
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry Arefiev про конвертеры пару строк плз. (что за продукт?)

______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35035410
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry Arefiev
2) Про курсорные настройки ADO в случае с Oracle можно почти забыть. У него есть только один тип курсора.

в том и фича, что есть только в API COM (CreateCOMObject(ADOCommand)).
А в ADO - DBAware НЕТ )))
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35035426
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123 Dmitry Arefiev
2) Про курсорные настройки ADO в случае с Oracle можно почти забыть. У него есть только один тип курсора.

в том и фича, что есть только в API COM (CreateCOMObject(ADOCommand)).
А в ADO - DBAware НЕТ )))
а..., ну да, есть для простых запросов, без ХП (или ХП pipeline)
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35035429
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123про конвертеры пару строк плз. (что за продукт?)
Варианты:
1) Можно взять из AnyDAC поставки - хэнд мейд Tool\dfmChanger. Он имеет конфигурационный файл для BDE -> AnyDAC миграции. Можно под ADO настроить.
2) ADO -> AnyDAC миграция выполнялась совместно с парнями, у которых есть свой тул. Они же и писали конфигурационный файл.

эти два варианта понимают минимальный толк в Pascal синтаксисе и умеют править Uses по ходу конвертации.

3) Есть еще и Linux утилита на пакетного поиска и замены. Имя - вылетело из головы. Думаю, можно и ее заточить под эту задачу.
4) Почти у всех производителей больших наборов компонентов есть аналогичные тулы. Так что, возможно у вас уже все есть под рукой :)
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35035440
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro1232) Про курсорные настройки ADO в случае с Oracle можно почти забыть. У него есть только один тип курсора.
Только LockType=ltBatchOptimistic представляет интерес. Так как это либо CachedUpdates либо нет.
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35035455
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry Arefiev понял.
Остался вопрос к Аффтару.
Либу он настолько облегчил жизнь своему серверу, что у него нет ни одной ХП (БЛ на клиенте), либо ...
______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35036411
OracleX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Above Software - Effective Tracing Solution: session
monitoring and tracing tool for ADO, Oracle and ODBC

Бесплатно и эффективно.

По поводу AutoCommit, но не в ADO, а например при использовании ODAC.

В ODAC есть одноименные свойства (см. Help) они влияют на OCI_COMMIT_ON_SUCCESS.
Использование режима OCI_COMMIT_ON_SUCCESS в вызове OCIExecute(),
позволяет делать commit транзакции при успешном завершении
данного оператора , избавляя тем самым от одного round-trip.
Одиночные изменения базы данных - распространенное явление.

при вызове PL/SQL процедуры, выполняющей целостную по логике
серию обновлений базы, естественно использовать OCI_COMMIT_ON_SUCCESS
(и никаких COMMIT/ROLLBACK) внутри хранимок. Это тоже частое явление.

Случаев, когда целостная серия изменений выполняется
отдельными операторами из кода Delphi, естественно без OCI_COMMIT_ON_SUCCESS,
во-первых, гораздо меньше, во-вторых, их часто можно и нужно заменять хранимками
с соответствующей бизнес логикой.
...
Рейтинг: 0 / 0
ADO + Oracle + многократный парсинг
    #35036605
KoTTT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Остался вопрос к Аффтару.
Либу он настолько облегчил жизнь своему серверу, что у него нет ни одной ХП (БЛ на клиенте), либо ...
Вопрос к нашим разработчикам. Но, как я понял, вся работа ведется через простые операторы sql, без хранимых процедур. На этот момент я тоже уже обращал их внимание.
Я хотел получить какой-то компромисс: улучшить работу с ораклом через ADO с минимальными изменениями в коде. Как уже вижу - задача невыполнимая.
Теперь дело за разработчиками. А как именно они будут решать проблему - это уже не мое дело. Моя задача была помочь им в выборе пути решения.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
ADO + Oracle + многократный парсинг
    #40004862
Фотография Шведков Артем
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KoTTT
Petro123Остался вопрос к Аффтару.
Либу он настолько облегчил жизнь своему серверу, что у него нет ни одной ХП (БЛ на клиенте), либо ...

Вопрос к нашим разработчикам. Но, как я понял, вся работа ведется через простые операторы sql, без хранимых процедур. На этот момент я тоже уже обращал их внимание.
Я хотел получить какой-то компромисс: улучшить работу с ораклом через ADO с минимальными изменениями в коде. Как уже вижу - задача невыполнимая.
Теперь дело за разработчиками. А как именно они будут решать проблему - это уже не мое дело. Моя задача была помочь им в выборе пути решения.

Привет! Я дико извиняюсь, а чем все же кончилась история с ADO + Oracle ?) Перешли на ODAC ?
У нас сейчас (в 2020) возникла точно такая же проблема с добавлением ROWID чуть ли не во все запросы,
Delphi XE + ADO + Oracle.OLEDB.1 + Oracle DB 19c.

Только перешли с 11g, а там не так критичны видимо были эти добавления rowid везде и всюду.

Посмотрел трейс файл, который нам выгрузили, там реально идет секция PARSING IN CURSOR ... обычный select, а потом следом идет другая секция PARSING IN CURSOR и уже тот же селект с добавлением table."ROWID" в запросе...

Вопрос: поможет ли нам смена провайдера в нашем случае ? Как самым менее затратным способом победить эту проблему с добавлением Rowid ?

Cпасибо!
...
Рейтинг: 0 / 0
66 сообщений из 66, показаны все 3 страниц
Форумы / Delphi [игнор отключен] [закрыт для гостей] / ADO + Oracle + многократный парсинг
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]