Java Python>;与JDBC连接到Oracle服务名称(jaydebeapi)
此示例代码用于在Python中连接到Oracle SIDJava Python>;与JDBC连接到Oracle服务名称(jaydebeapi),java,python,oracle,jdbc,jaydebeapi,Java,Python,Oracle,Jdbc,Jaydebeapi,此示例代码用于在Python中连接到Oracle SID 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/password@D
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/password@DB_HOST_IP:1521:DB_NAME')
如何连接到Oracle服务名称?关于您的连接字符串,您可以使用
TNS
syntax(),
与您现在使用的host:port:sid
语法相反。
在这种情况下,您可以在CONNECT\u DATA
中描述SERVICE\u 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—无需麻烦。(只是一个建议)这种方法应该有效
conn = jaydebeapi.connect('oracle.jdbc.driver.OracleDriver','jdbc:oracle:thin:user/password@//DB_HOST_IP:1521/DB_NAME')