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')
我有一个 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')