通过SQLAlchemy以管理员身份(sysdba)连接 - mode = 2不起作用

时间:2015-03-20 00:50:59

标签: python oracle sqlalchemy

我正在使用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吗?

1 个答案:

答案 0 :(得分:0)

好的,问题是我传递的用户名;这工作

connection = 'oracle://sys:adminpwd@myhost:1521/SID?mode=2'

希望它可以节省你浪费时间搜索。