В связи с обновлением верcии 2.3.1 до 2.4 перестали работать запросы к базе данных ORACLE. При этом сыпался на простом запросе:SELECT E.ID_EMPLOYEE, E.USERNAME, E.PASSWORD FROM EMPLOYEE E WHERE E.PASSWORD = 'test' AND E.USERNAME = 'test'С ошибкой: [Microsoft][ODBC driver for Oracle][Oracle]ORA-00933: неверное завершение SQL-предложения (933)Хотя из версии 2.3.1 выполняется все великолепно. Начал копать и выяснил, что некоторые запросы все таки выполняются и отрабатываются нормально.Начал трассировать драйвер и смотреть что именно летит в базу данных и как выглядит запрос. И выяснил, что этот запрос после обработки ОО выглядит следующим образом:"SELECT "E"."ID_EMPLOYEE", "E"."USERNAME", "E"."PASSWORD" FROM "EMPLOYEE" AS "E" WHERE "E"."PASSWORD" = 'test' AND "E"."USERNAME" = 'test'"Он добавил кавычки во все нужные и ненужные места и AS во FROM после чего запрос перестал работать. После удаления псевданима Е запрос стал работать. После этого переписал все запросы удалив в них короткие псевдонимы и псевдонимы содержащие цыфры (оставил только имена таблиц) и все заработало. Вопрос: зачем?
|