2016-09-19 3 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 Service Name?

ответ

1

Что касается вашей строки соединения, вы можете использовать TNS синтаксис (read on, here), в отличие от host:port:sid синтаксиса, который вы используете в настоящее время. В этом случае вы бы описали SERVICE_NAME внутри CONNECT_DATA следующим образом:

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

Кстати - вы можете также использовать cx_Oracle для подключения к оракулу - не java хлопот. (Только предложение)

0

Этот способ должен работать

conn = jaydebeapi.connect('oracle.jdbc.driver.OracleDriver','jdbc:oracle:thin:user/[email protected]//DB_HOST_IP:1521/DB_NAME') 

 Смежные вопросы

  • Нет связанных вопросов^_^