为什么我得到表或视图不存在与cx_oracle,但不与sql开发人员?



试图构建一个python脚本来更新oracle中的表。角色已被授予所有权限,并且角色已被授予用于执行CRUD操作的模式。

使用cx_oracle执行数据库事务时,SELECT、UPDATE和DELETE工作正常。

sql = "INSERT INTO the_schema.the_table (col_1, col_2) VALUES ('val1', 'val2')"  
cur.execute(sql)

表或视图不存在

但是在SQL Developer中插入工作得很好。什么好主意吗?插入时,cx_oracle有什么奇怪的地方吗?

结果是用户错误。在SQL Developer中,用户以模式所有者的身份登录,并且对序列的pk有权限。在python中,用户以用户模式的身份登录,并且对序列没有权限。

通过将对所有者模式序列的select授权给用户模式来解决问题。

谢谢大家的帮助!

相关内容

  • 没有找到相关文章

最新更新