2014-03-24 67 views
1

我使用的SQLAlchemy與瓶 ,我想連接到Oracle數據庫以SYSDBA如何as sysdba已連接的Oracle數據庫使用的SQLAlchemy

SQLALCHEMY_DATABASE_URI ='oracle+cx_oracle://sys:[email protected][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對象。但我無法弄清楚如何寫

SQLALCHEMY_DATABASE_URI登錄以SYSDBA

我也試過

CONN = cx_Oracle.connect('sys/abc', dsn='DBNAME', mode = cx_Oracle.SYSDBA) 
SQLALCHEMY_DATABASE_URI = CONN 

但也行不通。 我得到ORA-12154:TNS:無法解析指定的」連接標識符..還有如果我刪除模式= SYSDBA我得到ORA-28009連接,SYS應以SYSDBA

+0

你有什麼錯誤?另外,如果該代碼塊被反引號包裹? – dirn

回答

3

dsn參數是錯誤的。您還必須分開userpassword參數。試試這個(它的工作對我來說):

dsn_tns = cx_Oracle.makedsn('host', port, 'sid') 
CONN = cx_Oracle.connect('sys', 'abc', dsn_tns, mode=cx_Oracle.SYSDBA) 

欲瞭解更多信息請參閱cx_Oracle.connect構造函數。

+1

鏈接似乎已經死亡。但是你的代碼示例有效。好極了!只花了2天,但我終於有'cx_Oracle'工作。 – ArtOfWarfare

+0

@ArtOfWarfare:我很高興:) PS。該鏈接已更新,現在正在工作。 – Scottie