Python 连接到 JDBC 精简自定义 url Oracle

Python connect to JDBC thin custom url Oracle

我有一个 Oracle 数据库。数据库只能通过自定义 jdbc URL: jdbc:oracle:thin:@servername:port/service_name 连接。其中 driver = 'Oracle in OraClient12Home_x64_1'

现在我需要使用 python 连接到数据库。

我试过 pyodbc 和 cx_oracle,none 似乎有效。

这是我尝试过的方法:

pyodbc:

dbq = servername:port/service_name

conn_string = fr'DRIVER={driver};DBQ={dbq};UID={uid};PWD={pwd};

connection = pyodbc.connect(dsn)

cx_Oracle:

dsn = cx_Oracle.makedsn('@servername','port',service_name='service_name')

connection = cx_Oracle.connect(dsn)

我继续收到 TNS:标识符错误或 TNS 适配器错误。

有什么想法吗?

这是关于从 JDBC 连接字符串映射的 cx_Oracle 文档:JDBC and Oracle SQL Developer Connection Strings

尝试去掉你显示的“@”:

dsn = cx_Oracle.makedsn('example.com','1521',service_name='mydbservice')

connection = cx_Oracle.connect(username, password, dsn)

替换为您的实际值

或者直接使用

connection = cx_Oracle.connect(username, password, 'example.com:1521/mydbservice')