我正在尝试使用以下代码从python (3.7)
到远程oracle
数据库建立连接:
import cx_Oracle # Version 7.2.2
import sshtunnel
import socket
HOST = "HOST"
USRNAME = "Me"
hostname = socket.gethostname()
IPAddr = socket.gethostbyname(hostname)
with sshtunnel.SSHTunnelForwarder(
(HOST, 22),
ssh_username = USRNAME,
ssh_pkey='~/.ssh/dumpserver',
remote_bind_address=(IPAddr, 22)
) as server:
conn = cx_Oracle.connect('testuser','password', 'oracle/db', encoding="UTF-8")
print(conn.version)
我收到以下错误:
DatabaseError:ORA-12170:TNS:发生连接超时。
我尝试在
上进行阅读但是并没有变得更聪明,我也无法使它工作:(任何想法指针等都非常受欢迎。另外,如果有人对如何将oracle查询发送到远程有其他代码段-使用f.eks paramiko
很好。
谢谢,F
答案 0 :(得分:0)
我找到了一个Oracle SSH隧道代码,该代码与SSH Tunnel To Server中的代码非常相似
关于IP问题,您的错误代码表明您可能没有正确的Oracle Service IP,请检查此条目lsnrctl status