我正在使用sqlalchemy和烧瓶 我想以sysdba
的身份连接到oracle DB 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
答案 0 :(得分:4)
您的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构造函数。