我试图在django中导入现有的oracle表。安装了cx_oracle,我完成了django和我的oracle数据库通信的所有步骤。
import cx_Oracle
con = cx_Oracle.connect("PYTHON","PYTHON", "METDBR")
cur = con.cursor()
cur.execute("select * from ICUSTOMER")
res = cur.fetchall()
for row in res:
print(row)
没问题…当我试图用命令
检查表时
python manage.py inspectdb icustomer
无法检查表"客户"ORA-00942:表或视图不存在
通常是字母大小写。
默认情况下,Oracle以大写字母存储表名。如果您(或创建表的人)使用混合大小写并将表名括在双引号中,则必须完全像这样引用表:使用相同的字母大小写(与创建时一样),将其括在双引号中。
因此,检查确切的表名。
检查在默认ENGINE
中配置的USER
,这很可能是而不是用户PYTHON
。
您必须使检查的表符合PYTHON.ICUSTOMER
和授权引擎用户访问它(当作为PYTHON
连接时)
GRANT SELECT on PYTHON.ICUSTOMER to <engine user>;