Я использую pyodbc
для подключения к базе данных компьютера и запроса нескольких таблиц в этой базе данных, используя
pandas.read_sql(tbl,cnxn), where tbl = "SELECT * FROM TABLE", cnxn is pyodbc.connect('DSN=DATASOURCE;UID=USERID;PWD=PASSWORD').
. Это работает на большинстве таблиц, но некоторые Возврат таблиц:
Ошибка DatabaseEr: Ошибка при выполнении sql 'SELECT * FROM TABLE': ('42S02', '[42S02] [Microsoft] [ODB C драйвер для Oracle] [Oracle ] ORA-00942: таблица или представление не существует (942) (SQLExecDirectW) ')
Эти таблицы, возвращающие ошибку при открытии в MS Access, имеют несколько столбцов со значком ключа на осталось при открытии в режиме конструктора (таким образом, составной первичный ключ, составленный из нескольких столбцов).
По этой причине у меня возникает ошибка, описанная выше? Как я могу решить эту проблему?
Редактировать : как показано на этом скриншоте, есть несколько столбцов, помеченных как составляющие первичный ключ в режиме конструктора:
Edit2 : Спасибо за отзывы. После проверки окна администратора источника данных ODB C этот источник данных находится на 32-разрядной платформе, а его драйвер - Microsoft ODB C для Oracle.
. Не думаю, что имя таблицы - это проблема, потому что другие таблицы работали, и у них есть то же самое соглашение об именовании (имя таблицы в этом формате NAME_OF_THE_TABLE
). Стараясь не показывать имя таблицы, потому что работал над проектом компании.
Я исследовал концепцию первичного ключа и понял, что для таблицы может быть только один ключ, но, как показано на скриншоте, есть пять полей показывают значок ключа слева.