我正在尝试使用 python 脚本访问 Oracle 数据库表。
我写了以下代码:

 import cx_Oracle

 con = cx_Oracle.connect("system/[email protected]/XE")
 cur = con.cursor()
 cur.execute(" SELECT * FROM SUPPLIER")
 for row in cursor.fetchall():
      print(row)

输出是:
Traceback (most recent call last):
  File "C:/Users/ADMIN/AppData/Local/Programs/Python/Python36-
32/my_file.py", line 6, in <module>
    cur.execute(" SELECT * FROM SUPPLIER")
cx_Oracle.DatabaseError: ORA-00942: table or view does not exist

谁能告诉我如何解决这个错误?

最佳答案

我敢打赌这是架构名称问题。您以用户 SYSTEM 进行连接,但想要从名为 SUPPLIER 的表中进行选择,该表很可能不在模式 SYSTEM 中。

您可以通过在 Apex SQL 研讨会中运行来找出表的位置:

SELECT owner FROM all_tables WHERE table_name = 'SUPPLIERS';

你需要把主人放在 table 前面。例如,如果最后一个查询返回“MYUSER”,您需要将查询更改为
cur.execute(" SELECT * FROM MYUSER.SUPPLIER")

关于python - cx_Oracle.DatabaseError : ORA-00942: table or view does not exist,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50609974/

10-16 02:03