我用的是带烧瓶的炼金术
我想以sysdba的身份连接到oracle数据库
SQLALCHEMY_DATABASE_URI ='oracle+cx_oracle://sys:abc@DBNAME[mode=SYSDBA]'
这不管用,给我一个
from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config.from_object('config')
db = SQLAlchemy(app)
from app import views,models
稍后我使用这个db对象。但我不知道怎么写
以sysdba身份登录的SQLALCHEMY_DATABASE_URI
我也试过了
CONN = cx_Oracle.connect('sys/abc', dsn='DBNAME', mode = cx_Oracle.SYSDBA)
SQLALCHEMY_DATABASE_URI = CONN
但这也行不通。
我得到ORA-12154:TNS:无法解析指定的连接标识符。。另外,如果我删除mode=SYSDBA,我会得到ORA-28009连接,因为SYS应该是SYSDBA
最佳答案
您的dsn
参数错误。您还必须分离user
和password
参数。试试这个(对我有用):
dsn_tns = cx_Oracle.makedsn('host', port, 'sid')
CONN = cx_Oracle.connect('sys', 'abc', dsn_tns, mode=cx_Oracle.SYSDBA)
有关更多信息,请参见cx_Oracle.connect构造函数。
关于python - 如何使用SQLALchemy以sysdba的身份连接Oracle数据库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22619759/