ORA-01036: недопустимое имя/номер переменной с клиентом Oracle 18 и Oracle 19 для Windows

После обновления с Oracle 11/12 до 18/19 я получаю эту ошибку: ORA-01036: недопустимое имя/номер переменной.

Ошибка возникла в таком запросе:

SELECT * FROM (SELECT * FROM TABLE) MY_TABLE WHERE ROWNUM <= :P_ROWNUM

(Подзапрос + параметры привязки)

Идентичный запрос правильно работает с клиентом Oracle 11.2.0.4 или 12.1.0.2. Он не работает с Oracle Client 18c или 19c.

PS: Oracle Server версии 18c 64x для Windows.

Я использую Delphi 10.1.2 с компонентами ADO (dbGO). Я также пробовал с Delphi 13.3.3, но поведение такое же.

Похоже, проблема в поставщике Oracle OLE DB (ORAOLEDB).

Если я не использую ADO, но DevArt Unidac все работает как положено.

Кто-нибудь может мне помочь?

Максимум


person Massimiliano Fabris    schedule 03.12.2019    source источник
comment
вы видели ответ здесь: stackoverflow.com/questions/21375288/   -  person hotfix    schedule 03.12.2019