Получение недопустимого идентификатора ORA-00904

У меня проблема с Oracle DB. Я использую python cx_oracle. Это ошибка, которую я получаю при попытке выполнить запрос:

cx_Oracle.DatabaseError: ORA-00904: BUCKET_INTERNAL_ID: недопустимый идентификатор

Я не понимаю, почему у меня возникла эта проблема, поскольку это имя столбца не является резервным словом или чем-то еще. Я даже попробовал запросить SQL-клиент Oracle, но все равно получаю ту же ошибку.

Это запрос:

select * from DL_ETA_CAPACITY where DATE_AGENDA = TO_DATE('2021-07-13','YYYY-MM-DD') and BUCKET_INTERNAL_ID = 7664 

(я тоже пробовал BUCKET_INTERNAL_ID, но получил ту же ошибку)

Это DLL таблицы:

    CREATE TABLE "DL_ETA_CAPACITY" 
   (    "DATE_AGENDA" DATE, 
    "availability" FLOAT(126), 
    "bucket_external_id" VARCHAR2(100 BYTE), 
    "bucket_internal_id" NUMBER(*,0), 
    "total_capacity_min" NUMBER(*,0), 
    "total_capacity_amount" NUMBER(*,0), 
    "available_capacity_min" NUMBER(*,0), 
    "available_capacity_amount" NUMBER(*,0)
   )

Кто-нибудь может помочь? Я делаю что-то неправильно?


person NGabioud    schedule 13.07.2021    source источник
comment
Никогда не используйте идентификаторы в кавычках, потому что они подвержены ошибкам, особенно если вы когда-либо используете буквы, похожие на латинские. Я смог понять всю боль, когда мой коллега случайно поставил кириллическую букву С вместо латинской C (они обе находятся на одной клавише на клавиатуре и выглядят одинаково независимо от регистра или шрифта)   -  person astentx    schedule 13.07.2021


Ответы (1)


Вы пробовали писать строчные буквы? Извините, я не смог прокомментировать

person Héctor Marin    schedule 13.07.2021
comment
Да! Это сработало! Я использовал bucket_internal_id, и это сработало :) - person NGabioud; 13.07.2021
comment
теперь вы понимаете, почему пользователи Oracle рекомендуют вам никогда не цитировать имена ваших объектов - это означает, что вы должны цитировать их в будущем ... навсегда - person thatjeffsmith; 13.07.2021
comment
Имена столбцов Oracle обычно нечувствительны к регистру кроме, когда вы их заключаете в кавычки. - person Iñigo; 13.07.2021