|
|
|
Коллеги, пните в нужном направлении с использованием TOraQuery в ODAC и Delphi XE5
|
|||
|---|---|---|---|
|
#18+
ODAC версии 9.2.5 Есть запрос: Код: plsql 1. 2. 3. 4. 5. Есть код: Q: TOraQuery Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Если строка q.Prepare закомментирована, то выполнение запроса выдает нужное число строк и, соответственно, нужное поле. Если строка q.Prepare оставлена, то выполнение запроса выдает нулевое число строк и, соответственно, Eof. Код переводится на использование ODAC с других компонентов, для предыдущих наличие вызова Prepare было обязательным, запрос выполняется многократно. TOraSQL со строковыми параметрами и другими запросами работает, как надо, TOraQuery с параметром типа ftInteger и другим запросом работает как надо. Пробовал задавать параметр в design-time как String, как Widestring и не задавать вообще, никакого влияния. Пробовал убирать из запроса функцию UPPER для параметра, никакого влияния. Поиск в гугле по ToraQuery.prepare failed не дал вменяемых результатов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 14:36 |
|
||
|
Коллеги, пните в нужном направлении с использованием TOraQuery в ODAC и Delphi XE5
|
|||
|---|---|---|---|
|
#18+
schiODAC версии 9.2.5 Есть запрос: Код: plsql 1. 2. 3. 4. 5. Есть код: Q: TOraQuery Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Если строка q.Prepare закомментирована, то выполнение запроса выдает нужное число строк и, соответственно, нужное поле. Если строка q.Prepare оставлена, то выполнение запроса выдает нулевое число строк и, соответственно, Eof. Код переводится на использование ODAC с других компонентов, для предыдущих наличие вызова Prepare было обязательным, запрос выполняется многократно. TOraSQL со строковыми параметрами и другими запросами работает, как надо, TOraQuery с параметром типа ftInteger и другим запросом работает как надо. Пробовал задавать параметр в design-time как String, как Widestring и не задавать вообще, никакого влияния. Пробовал убирать из запроса функцию UPPER для параметра, никакого влияния. Поиск в гугле по ToraQuery.prepare failed не дал вменяемых результатов. q.Close ; q.ParamByName( q.Open ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 14:38 |
|
||
|
Коллеги, пните в нужном направлении с использованием TOraQuery в ODAC и Delphi XE5
|
|||
|---|---|---|---|
|
#18+
defecatorq.Close ; q.ParamByName( q.Open Никакого эффекта. TOraQuery изначально неактивен. Если убрать Prepare, выдаются нужные результаты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 14:45 |
|
||
|
Коллеги, пните в нужном направлении с использованием TOraQuery в ODAC и Delphi XE5
|
|||
|---|---|---|---|
|
#18+
schidefecatorq.Close ; q.ParamByName( q.Open Никакого эффекта. TOraQuery изначально неактивен. Если убрать Prepare, выдаются нужные результаты. Никогда не сталкивался с такой ситуацией, Prepare вообще нигде не использую, чтобы данные получить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 14:55 |
|
||
|
Коллеги, пните в нужном направлении с использованием TOraQuery в ODAC и Delphi XE5
|
|||
|---|---|---|---|
|
#18+
schiПоиск в гугле по ToraQuery.prepare failed не дал вменяемых результатов. Включи детальную трассировку сессии в оракле и проверь - что на самом деле приходит в Оракл и что он возвращает. Это даст направление, куда копать дальше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 15:18 |
|
||
|
Коллеги, пните в нужном направлении с использованием TOraQuery в ODAC и Delphi XE5
|
|||
|---|---|---|---|
|
#18+
schi, Был бы неплохо увидеть структуру таблицы FOO (скрипт на создание). И проверьте на последней версии ODAC 10.1.5, возможно все уже давно пофикшено. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 15:19 |
|
||
|
Коллеги, пните в нужном направлении с использованием TOraQuery в ODAC и Delphi XE5
|
|||
|---|---|---|---|
|
#18+
devartschi, Был бы неплохо увидеть структуру таблицы FOO (скрипт на создание). И проверьте на последней версии ODAC 10.1.5, возможно все уже давно пофикшено. Это view, кроме того, я не уполномочен выкладывать DDL в публичный доступ, а маскировать имена муторно. Если пофикшено, то было неплохо ознакомиться со списком пофикшенных проблем, обновлением занимается отдельный персонал, требуется обоснование. softwarerВключи детальную трассировку сессии в оракле и проверь - что на самом деле приходит в Оракл и что он возвращает. Это даст направление, куда копать дальше. Это, увы, не просто, но если ничего не поможет, то придется, конечно. По меньшей мере в ODAC-овском DBMonitor криминала не замечено, все параметры имеют нужное значение, на Prepare пустое, на Execute заданное. Что интересно, если строковый параметр не в WHERE-клаузе, то запрос отрабатывает нормально с вызовом Prepare и без него. Код: plsql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 15:40 |
|
||
|
Коллеги, пните в нужном направлении с использованием TOraQuery в ODAC и Delphi XE5
|
|||
|---|---|---|---|
|
#18+
На обычной таблице запрос такого типа отрабатывает, как следует, как с вызовом Prepare, так и без него. Код: plsql 1. (CODE - поле типа VARCHAR2(3)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 16:04 |
|
||
|
Коллеги, пните в нужном направлении с использованием TOraQuery в ODAC и Delphi XE5
|
|||
|---|---|---|---|
|
#18+
schiЭто view, кроме того, я не уполномочен выкладывать DDL в публичный доступ, а маскировать имена муторно. Если пофикшено, то было неплохо ознакомиться со списком пофикшенных проблем, обновлением занимается отдельный персонал, требуется обоснование. список исправлений можно найти здесь https://www.devart.com/odac/revision_history.html если вы не хотите предоставлять DDL на создание таблицы и VIEW, то мы не можем самостоятельно проверить, воспроизводится ли описанная вами проблема на последней версии ODAC. с другой стороны, вы можете сами скачать последнюю версию ODAC здесь https://www.devart.com/odac/download.html и проверить, если проблема исправлена, то принимать решение об обновлении, если нет, то выслать DDL к нам в саппорт, чтобы мы воспроизвели и исправили баг. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 16:09 |
|
||
|
Коллеги, пните в нужном направлении с использованием TOraQuery в ODAC и Delphi XE5
|
|||
|---|---|---|---|
|
#18+
devart, Спасибо, я подумаю над вашим предложением. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 16:23 |
|
||
|
Коллеги, пните в нужном направлении с использованием TOraQuery в ODAC и Delphi XE5
|
|||
|---|---|---|---|
|
#18+
devart, Один момент, как мне потом вернуться на существующую версию 9.2.5 ? --------------------------- Setup --------------------------- Setup has detected already installed Odac 9.2.5 Do you wish to upgrade to ODAC 10.1.5 Trial Edition? --------------------------- Да Нет --------------------------- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 16:30 |
|
||
|
Коллеги, пните в нужном направлении с использованием TOraQuery в ODAC и Delphi XE5
|
|||
|---|---|---|---|
|
#18+
softwarerschiПоиск в гугле по ToraQuery.prepare failed не дал вменяемых результатов. Включи детальную трассировку сессии в оракле и проверь - что на самом деле приходит в Оракл и что он возвращает. Это даст направление, куда копать дальше. Трассировка конечно показала, что задница стряслась, без Prepare: BINDS #140210961257304: Bind#0 oacdty=01 mxl=128(38) mxlc=38 mal=00 scl=00 pre=00 oacflg=01 fl2=1000010 frm=01 csi=171 siz=128 off=0 kxsbbbfp=7f8568845a00 bln=128 avl=38 flg=05 value="{0130B1D6-7B7B-4EE1-A409-49A2CD678EEB}" c Prepare BINDS #139746432824136: Bind#0 oacdty=01 mxl=4000(38) mxlc=00 mal=00 scl=00 pre=00 oacflg=01 fl2=1000010 frm=01 csi=171 siz=4000 off=0 kxsbbbfp=7f1940700448 bln=4000 avl=02 flg=05 value="?" Но не копаться же мне в кишках ODAC... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 17:04 |
|
||
|
Коллеги, пните в нужном направлении с использованием TOraQuery в ODAC и Delphi XE5
|
|||
|---|---|---|---|
|
#18+
schi, Н-да, красиво. Ну значит действительно ставь одак десятку куда-нибудь в песочницу и проверяй, исправили или нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 17:31 |
|
||
|
Коллеги, пните в нужном направлении с использованием TOraQuery в ODAC и Delphi XE5
|
|||
|---|---|---|---|
|
#18+
Проверил на запросе к view: Код: sql 1. 2. 3. 4. ODAC 10.0.1, проблема не воспроизвелась. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 17:35 |
|
||
|
Коллеги, пните в нужном направлении с использованием TOraQuery в ODAC и Delphi XE5
|
|||
|---|---|---|---|
|
#18+
softwarer, Спасибо, буду разбираться, что легче: песочницу организовать или обновится официально и пинать уже devart на последней версии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 17:50 |
|
||
|
Коллеги, пните в нужном направлении с использованием TOraQuery в ODAC и Delphi XE5
|
|||
|---|---|---|---|
|
#18+
schidevart, Один момент, как мне потом вернуться на существующую версию 9.2.5 ? Сделать Uninstall версии 10.1.5 и заново проинсталировать 9.2.5. Или, как посоветовали выше, проверить все в "песочнице" (на виртуалке). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 17:53 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39630849&tid=2040881]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
167ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
73ms |
get tp. blocked users: |
2ms |
| others: | 207ms |
| total: | 495ms |

| 0 / 0 |
