2017-07-14 3 views
0

私は一見単純な問題があります。 それは私にこのエラーがスローされますPythonスクリプトを使用してOracleデータベースに接続しようとすると:PythonでTnsnamesが見つからない場合でも、winの変数envで設定されています

cx_Oracle.DatabaseError: ORA-12505: TNS:listener does not currently know of SID given in connect descriptor 

事と、tnsnames.oraがTNS_ADMIN環境変数に設定されている(イムが勝利10に取り組んで)と私もそれを見つけることができるということです新しい接続を作成するときは、sqldeveloperを使用します。さらに、Im私のスクリプトで正しいdsnを使用していることを確認してください...したがって...任意のアイデア?

+0

ところで、あなたは "cmd"から "tnsping "を試しましたか? –

+0

tnsnames.oraファイルの古い古くなったSID属性の代わりにSERVICE_NAME属性を使用する必要がありますか? –

答えて

1

これは私のコードです。期待しています

self.mydsn = cx_Oracle.makedsn(self.parser.get(
    'oracle', 'db'), 
    self.parser.get('oracle', 'port'), 
    self.parser.get('oracle', 'service_name') 
    ) 
+0

私はちょうどこれをしました: cx_Oracle.connect( "usr/pass @ server:1521/sid")とちょうどうまくいきました。私もあなたの作品を信頼する=] – Medardas

関連する問題