2016-09-19 98 views
1

このサンプルコードは、PythonでOracle SIDに接続するために使用します。Python> JDBCからOracleサービス名への接続(jaydebeapi)

import jpype 
import jaydebeapi 
jHome = jpype.getDefaultJVMPath() 
jpype.startJVM(jHome, '-Djava.class.path=/path/to/ojdbc6.jar') 
conn = jaydebeapi.connect('oracle.jdbc.driver.OracleDriver','jdbc:oracle:thin:user/[email protected]_HOST_IP:1521:DB_NAME') 

どのようにOracleサービス名に接続できますか?

答えて

1

接続文字列についてはあなたが今使っているhost:port:sid構文とは反対に、あなたはTNS構文(read on, here)、 を使用することができます。次のように その場合、あなたは、CONNECT_DATA内部SERVICE_NAMEを説明します:

jaydebeapi.connect('oracle.jdbc.driver.OracleDriver','[MYUSER]/[MYPASS]@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=[MYHOST])(PORT=1521))(CONNECT_DATA=(SERVER=dedicated) (SERVICE_NAME=[MYSERVICENAME])))') 

ところで - あなたはまた、Oracleに接続するcx_Oracleを使用することができなかった - 何java手間を。 (単なる提案)

0

この方法では、

conn = jaydebeapi.connect('oracle.jdbc.driver.OracleDriver','jdbc:oracle:thin:user/[email protected]//DB_HOST_IP:1521/DB_NAME') 
を動作するはずです
関連する問題