2017-07-28 12 views
0

localmachine(host)上で仮想Oracle DBサーバーを実行するためにDockerを使用しました。pythonでoracleDBにアクセスする際にエラーが発生しました

私がon shell(bash)で使用するとうまく動作します。

しかし、私はそれをPythonインターフェイスからアクセスしたいと思います。

cx_Oracle(Oracle用のPythonインタフェース)をインストールし、

が、それは私のPythonコード(jupyterノートブック)にアクセスされませんでした。私はあなたがそのようなポートでcx_Oracle.connectを使用できることをわからない

DatabaseError        Traceback (most recent call last) 
<ipython-input-8-681e47c38e7c> in <module>() 
----> 1 con = cx_Oracle.connect("system/[email protected]:8080") 

DatabaseError: ORA-12537: 
+0

「接続しやすい」接続文字列構文にはさまざまな既定値がありますが、これはあまり一般的ではありません。 DBの 'サービス名'を探し、それを含めるだけでよい: 'con = cx_Oracle.connect(" system/oracle @ localhost:8080/whateveryourservicenameis ")' –

答えて

0

:エラーコード

import cx_Oracle 
con = cx_Oracle.connect("system/[email protected]:8080") 

以下のよう のコードはとてもシンプルです。おそらく可能ですが、データソース名(dsn)を確認します。


まず、:8080せずに接続してみてください。それでも問題が解決しない場合は、以下を試してみてください。


コマンドラインからpython対話モードに移動します。 python -i

import cx_Oracle

dsn = cx_Oracle.makedsn('localhost', '8080')


あなたはそれを使って何が見つからない場合は、バーレソンをチェックしてください。このサイトは、ORAの問題に常に役立ちます。

http://www.dba-oracle.com/t_ora_12537_tns_error.htm

そしてもちろん、私はあなたがすでにこのドキュメントを持っていると仮定します。

http://cx-oracle.readthedocs.io/en/latest/module.html?highlight=connect


また、あなたがガイドを以下の通りです、あなたはそれが内のURLにリンクしたい場合がありますと仮定コメントやあなたの元の投稿。

関連する問題