【发布时间】:2019-11-13 13:58:08
【问题描述】:
获取 cx_Oracle.DatabaseError: ORA-12170: TNS:Connect timeout 在 Google Cloud Platform 的 Composer 中创建气流作业时发生
我尝试了以下两个代码,但它们不起作用。
engine = cx_Oracle.connect('user', 'pass', cx_Oracle.makedsn('hostip', 'portnum',None,'service_name'))
-
engine = cx_Oracle.connect('user/pass@hostip:portnum/service_name')
def get_oracle_engine():
oracle_connection_string = 'oracle+cx_oracle://{username}:{password}@{hostname}:{port}/{service_name}' oracle_host = 'hostip' oracle_port = 'portnum' oracle_user = 'user' oracle_pw = 'pass' oracle_service_name = 'service_name' engine = cx_Oracle.connect(oracle_connection_string.format( username=oracle_user, password=oracle_pw, hostname=oracle_host, port=oracle_port, service_name=oracle_service_name , )) return engine engine = get_engine() logging.info("connected..")
环境:Google Cloud Platform - Composer、Airflow、Oracle
它应该连接到 Oracle 数据库。有什么建议吗??
【问题讨论】:
-
对术语的小评论:Easy Connect 语法和您的 makedsn() 调用都使用服务名称,而不是 SID。因为我不了解环境,所以我没有关于 ORA 错误的 cmets。
标签: python-3.x oracle google-cloud-platform airflow