|
|
|
Добавление RowId в запросе. Oracle + Ole DB + Ado
|
|||
|---|---|---|---|
|
#18+
БД Oracle 9.XX, Delphi 6 + upd2 + OLE DB. В общем запрос в компоненте TAdoQuery такой: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Посмотрел в системном представлении v$sqlarea и обнаружил, что запрос имеет вид: Код: plaintext 1. Т.е. автоматически добавилось поле CT.RowId. Кто знает как от этого избавиться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2006, 08:22 |
|
||
|
Добавление RowId в запросе. Oracle + Ole DB + Ado
|
|||
|---|---|---|---|
|
#18+
А что Оракл позволяет делать группировку не включая поле группировки в выборку и включать в выборку поле, которое не участвует в группировки, а смысл такого действия тогда какой? Ответ не требуется, поскольку офтопик для данной конференции, а конференция по Ораклу еще не стала синонимом Дельфи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2006, 08:54 |
|
||
|
Добавление RowId в запросе. Oracle + Ole DB + Ado
|
|||
|---|---|---|---|
|
#18+
Anatoly PodgoretskyА что Оракл позволяет делать группировку не включая поле группировки в выборку А почему нет. Почему нельзя сделать группировку без выборки этого поля в операторе select. Это допускается не только Oracle'ом, но и SQL Server'ом. Это вообще стандарт SQL-92,03. Anatoly Podgoretskyи включать в выборку поле, которое не участвует в группировки, а смысл такого действия тогда какой? Такое не допускается везде... Anatoly PodgoretskyОтвет не требуется, поскольку офтопик для данной конференции, а конференция по Ораклу еще не стала синонимом Дельфи. Уважаемый вопрос состоит не в том, что может или не может сделать Oracle, а в том, что при использовании Ado + OleDB + Oracle в выборке, описанной выше, неявно появляется поле ROWID в операторе "select". Это поле выбираю не я, оно автоматом подставляется. Я же описал, что при этом возикает ошибка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2006, 09:59 |
|
||
|
Добавление RowId в запросе. Oracle + Ole DB + Ado
|
|||
|---|---|---|---|
|
#18+
попробуй count делать не от RowID, а от чего-нить другого, хоть count(*) может поможет :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2006, 10:11 |
|
||
|
Добавление RowId в запросе. Oracle + Ole DB + Ado
|
|||
|---|---|---|---|
|
#18+
Dremlin13Уважаемый вопрос состоит не в том, что может или не может сделать Oracle, а в том, что при использовании Ado + OleDB + Oracle в выборке, описанной выше, неявно появляется поле ROWID в операторе "select". Это поле выбираю не я, оно автоматом подставляется. Я же описал, что при этом возикает ошибка. Я же говорил, что ответ не нужен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2006, 10:36 |
|
||
|
Добавление RowId в запросе. Oracle + Ole DB + Ado
|
|||
|---|---|---|---|
|
#18+
Dremlin13Кто знает как от этого избавиться? Если мне не изменяет память, в конференции Oracle тебе уже отвечали, как избавиться в том числе и от этого - выкинуть ADO. Заодно избавишься и вот от этого уродства: To_Date(:pBeginDate, 'DD.MM.YYYY'). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2006, 11:08 |
|
||
|
Добавление RowId в запросе. Oracle + Ole DB + Ado
|
|||
|---|---|---|---|
|
#18+
Попробуй LockType смени. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2006, 11:11 |
|
||
|
Добавление RowId в запросе. Oracle + Ole DB + Ado
|
|||
|---|---|---|---|
|
#18+
Dremlin13Возникает ошибка: "ORA-00979 not a Group By Expression" Oracle OLEDB провайдер добавляет ROWID для уникальной идентификации записи, если рекордсет LockType <> ltReadOnly. Это он делает прозрачно для пользователя и указанная ошибка до пользователя никогда не доходила. Каким образом вы зарегистрировали эту ошибку ? Exception ? удачи, Дмитрий ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2006, 11:57 |
|
||
|
Добавление RowId в запросе. Oracle + Ole DB + Ado
|
|||
|---|---|---|---|
|
#18+
Dmitry Arefiev +1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2006, 11:59 |
|
||
|
Добавление RowId в запросе. Oracle + Ole DB + Ado
|
|||
|---|---|---|---|
|
#18+
ЗаглянувшийПопробуй LockType смени. Ок. Спасибо. Все заработало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2006, 16:05 |
|
||
|
Добавление RowId в запросе. Oracle + Ole DB + Ado
|
|||
|---|---|---|---|
|
#18+
Dremlin13 ЗаглянувшийПопробуй LockType смени. Ок. Спасибо. Все заработало. Всем привет! кто подскажет, чем это может грозить ? столкнулись точно с такой же проблемой, win server 2016 + delphi xe + ado + oledb + oracle 19c = во множество запросов стали добавляться ROWID, хотя в явном виде их в запросе из delphi конечно же нет. Парсер оракл стал грязно ругать на жуткое количество синтаксических ошибок... как быть ? Кода много, очень много. ADO.LockType стоит ltOptimistic, нагрузка на Оракл большая, как бы не возникло больших проблем с блокировками ? Ну и осложняется тем, что чукча не писатель, чукча пока только читатель и полу-дебагер( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2020, 16:52 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=33884357&tid=2037989]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
166ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 461ms |

| 0 / 0 |
