我目前正在使用 MWAA(Airflow 版本:2.0.2)来构建数据管道。当我尝试使用提供程序连接到 Oracle 数据库 (Oracle 10g) 时,cx_Oracle 引发异常。
- 安装 apache-airflow[oracle]==2.0.2 后执行
cx_Oracle.DatabaseError:DPI-1047:找不到 64 位 Oracle 客户端库:“libclntsh.so:无法打开共享对象文件:没有这样的文件或目录”
- 上传包含instant_client_12_1目录的plugins.zip,覆盖OracleHook的get_conn函数,执行init_oracle_client函数,指定instant_client_12_1目录
cx_Oracle.DatabaseError:DPI-1047:找不到 64 位 Oracle 客户端库:“libmql1.so:无法打开共享对象文件:没有这样的文件或目录”
但该文件确实存在于文件夹下(如下所示)
-rw-rw-r-- 1 martin martin 29404 Jun 23 07:30 adrci
-rw-rw-r-- 1 martin martin 450 Jun 23 07:30 BASIC_LITE_README
-rw-rw-r-- 1 martin martin 43944 Jun 23 07:30 genezi
lrwxrwxrwx 1 martin martin 21 Jun 23 07:35 libclntshcore.so -> libclntshcore.so.12.1
-rw-rw-r-- 1 martin martin 6990875 Jun 23 07:30 libclntshcore.so.12.1
lrwxrwxrwx 1 martin martin 17 Jun 23 07:35 libclntsh.so -> libclntsh.so.12.1
-rw-rw-r-- 1 martin martin 58793741 Jun 23 07:30 libclntsh.so.12.1
-rw-rw-r-- 1 martin martin 1768370 Jun 23 07:30 libipc1.so
-rw-rw-r-- 1 martin martin 544150 Jun 23 07:30 libmql1.so
-rw-rw-r-- 1 martin martin 6213011 Jun 23 07:30 libnnz12.so
lrwxrwxrwx 1 martin martin 15 Jun 23 07:35 libocci.so -> libocci.so.12.1
-rw-rw-r-- 1 martin martin 2576030 Jun 23 07:30 libocci.so.12.1
-rw-rw-r-- 1 martin martin 6005681 Jun 23 07:30 libociicus.so
-rw-rw-r-- 1 martin martin 156353 Jun 23 07:30 libocijdbc12.so
-rw-rw-r-- 1 martin martin 337137 Jun 23 07:30 libons.so
-rw-rw-r-- 1 martin martin 118491 Jun 23 07:30 liboramysql12.so
-rw-rw-r-- 1 martin martin 3692096 Jun 23 07:30 ojdbc6.jar
-rw-rw-r-- 1 martin martin 3698857 Jun 23 07:30 ojdbc7.jar
-rw-rw-r-- 1 martin martin 227410 Jun 23 07:30 uidrvci
-rw-rw-r-- 1 martin martin 71202 Jun 23 07:30 xstreams.jar
我认为不可能在 MWAA 上更新 LD_LIBRARY_PATH 之类的环境变量,有什么想法吗?谢谢。