Python > 使用jaydebeapi连接Oracle服务名(JDBC)

3

这个示例代码用于在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@DB_HOST_IP:1521:DB_NAME')

我们如何连接到Oracle服务名称?
2个回答

4
关于您的连接字符串,您可以使用TNS语法(在此处查看),而不是您现在正在使用的host:port:sid语法。 在这种情况下,您将在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])))')

顺便提一下 - 你也可以使用 cx_Oracle 来连接 Oracle,无需处理 java 的问题。(仅供参考)


4
这种方法应该可行。
  conn = jaydebeapi.connect('oracle.jdbc.driver.OracleDriver','jdbc:oracle:thin:user/password@//DB_HOST_IP:1521/DB_NAME')

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接