我正在使用Python和SQLAlchemy;我想以sysdba身份连接到Oracle数据库,这可能吗?
当我将连接传递给create_engine时,我也传递mode = 2,所以这应该允许我等同于sysdba。 但是我得到了一个错误" ora01031"。
connection = 'oracle://user:pwd@myhost:1521/SID?mode=2'
我试过没有mode = 2,我的用户登录没有问题。但我需要管理员来访问系统表,这些表对普通用户是隐藏的。 我尝试用sysdba替换我的用户名和密码,以及我在运行SQLPlus时使用的密码,但是通过Python我从SQLAlchemy获得了一个auth错误。
connection = 'oracle://sysdba:adminpwd@myhost:1521/SID'
这很奇怪,因为如果我使用sqlplus,我会在没有问题的情况下进行身份验证。
我被迫使用cx_Oracle吗?或者我可以使用SQLAlchemy吗?
答案 0 :(得分:0)
好的,问题是我传递的用户名;这工作
connection = 'oracle://sys:adminpwd@myhost:1521/SID?mode=2'
希望它可以节省你浪费时间搜索。