Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从crontab计划时,与Oracle db(cx_Oracle)的连接不起作用,但可以作为独立连接使用_Python_Python 3.x_Shell_Cron_Cx Oracle - Fatal编程技术网

Python 从crontab计划时,与Oracle db(cx_Oracle)的连接不起作用,但可以作为独立连接使用

Python 从crontab计划时,与Oracle db(cx_Oracle)的连接不起作用,但可以作为独立连接使用,python,python-3.x,shell,cron,cx-oracle,Python,Python 3.x,Shell,Cron,Cx Oracle,我有一个python(3.6)脚本,它可以处理从Oracle DB检索到的数据。 然后我有一个shell脚本,用于执行脚本的自动化。我在crontab中计划执行此类shell 如果我以独立方式执行shell(sh shell.sh),它工作得非常好,而当它作为crontab作业运行时,与Oracle DB的连接失败-->类“cx\u Oracle.DatabaseError” 我试图简化我正在使用的代码,Python脚本如下所示: #!/usr/bin/python3.6 # coding: u

我有一个python(3.6)脚本,它可以处理从Oracle DB检索到的数据。 然后我有一个shell脚本,用于执行脚本的自动化。我在crontab中计划执行此类shell

如果我以独立方式执行shell(sh shell.sh),它工作得非常好,而当它作为crontab作业运行时,与Oracle DB的连接失败-->类“cx\u Oracle.DatabaseError”

我试图简化我正在使用的代码,Python脚本如下所示:

#!/usr/bin/python3.6
# coding: utf-8
import pandas as pd
import cx_Oracle
try:
    conn = cx_Oracle.connect(username/pwd@hostname:port/db_name)
    query = """SELECT * FROM schema.table"""
    df = pd.read_sql(query, con = conn)
except:
    print(sys.exc_info()[0])
    raise
    sys.exit(1)
shell正在执行以下操作:

#!/usr/bin/env bash
if [something]
then
    python3.6 pyscript.py
fi
crontab-l结果:

* * * * * cd /root/workindirectory ; sudo sh shell.sh >> test.out
提前感谢您的帮助


编辑:要指定shell和python脚本都有777权限,我很抱歉,因为我认为这是

由于cron不加载bash概要文件,我在shell脚本中找到了导出ORACLE_HOME和LD_LIBRARY_路径的解决方案。如相关问题所述,需要添加的行为:

export ORACLE_HOME=/usr/lib/oracle/<version>/client(64)
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
导出ORACLE\u HOME=/usr/lib/ORACLE//client(64) 导出LD\u库路径=$ORACLE\u HOME/lib:$LD\u库路径