2017-10-27 10 views
0

oracle_Cxライブラリでpythonを使用してoracle 12cデータベースへの接続を確立しようとしていますが、 PL/SQL開発者(通常のユーザーアカウントとdblink接続を使用している2番目のアカウント)を使用すると、2つの異なるユーザー名とパスワードでデータベースに正常に接続できます。正直なところ、それはちょうど私が言ったことです)。 Pythonとoracle_Cxライブラリを使用してデータベースに接続しようとすると、通常のユーザー・アカウントを使用して問題なく接続できますが、dblink接続を使用しようとするとORA-01017エラーが発生します。私はユーザー名とパスワードをテキスト・エディタに入力してからコピーしてPL/SQLにコピーし、変数にoracle_Cx.connectに渡しているので、どちらの場合も同じようにパスワードを入力していることを100%確信しています関数、例えば私は無効なユーザー名/パスワードのエラーは、私が「は、理由は、サーバーとクライアントの場合の感度の違いを生じ、これはパスワードを引用することによって克服することができるということができますいくつかの他のStackOverflowの記事で読んだPythonでcx_Oracleを使用するとORA-01017エラー(無効なユーザー名/パスワード)が返される

oracle_ip = ourIpAddres 
oracle_port = ourPort 
oracle_SID = ourSID 
oracle_username = standardUsername 
oracle_password = standardPassword 
oracle_selfserve_username = selfServeUsernane 
oracle_selfserve_password = selfServePassword 

また試してみました

oracle_selfserve_password = '\"imagineThisIsMyPassword\"' 

しかし、それも役に立たなかったです。

誰も私に何か提案がありますか?

おかげ ブラッド

答えて

0

私は、接続を確立する目的のために機能するソリューションを作ってみました。 cx_Oracle.connectに個々の変数名を渡すのではなく、実際の接続文字列を作成すると機能します。

db_selfserve2 = cx_Oracle.connect('notMyRealUserName/[email protected]:123456/serviceName') 

あなたが正常に接続することができますクライアントを使用してデータベースにログインし、次のコマンドを

select sys_context('userenv','service_name') from dual; 
を発行することにより、サービス名を見つけることができます
関連する問題