【发布时间】:2022-01-04 15:48:54
【问题描述】:
我正在尝试通过 GCP 气流 使用 python 作业连接到 oracle 数据库。
即使我用 OracleOperator 和 OracleHook 都试过这个,我总是得到同样的错误。
您可以在下面看到错误和我的代码。 如何解决 GCP Cloud Composer 上的此错误?
请注意,我没有在本地计算机上执行这些操作。
另外,我如何打印发送到 oracle 数据库的选择查询的结果? 提前致谢。
我的代码:
from airflow.utils.dates import days_ago
from datetime import datetime,timedelta
from airflow import DAG
from airflow.operators.oracle_operator import OracleOperator
default_args = {
'owner': 'Airflow_Test',
'depends_on_past': False,
'start_date': days_ago(1),
'email': ['Airflow_Test@Airflow_Test.com'],
'email_on_failure': True,
'email_on_retry': False,
'retries': 1,
'retry_delay': timedelta(minutes=5)
}
schedule_interval = "* * * * *"
dag_gtb = DAG(
'Airflow_Test_Python_Job',
default_args=default_args,
schedule_interval=schedule_interval
)
oracle_opr = OracleOperator(
task_id='task_sql',
oracle_conn_id='oracle_connection',
sql= 'select * from temp_table',
autocommit ='True',
dag=dag_gtb)
oracle_opr
错误:
cx_Oracle.DatabaseError: DPI-1047: Cannot locate a 64-bit Oracle Client library: "libclntsh.so: cannot open shared object file:
No such file or directory". See https://cx-oracle.readthedocs.io/en/latest/user_guide/installation.html for hel
【问题讨论】:
-
尝试在 Composer 环境中安装 cx_Oracle 和 Oracle operator。见cloud.google.com/composer/docs/how-to/using/…
标签: python oracle google-cloud-platform airflow google-cloud-composer