【问题标题】:SQL commands not found when run through shell script in Jenkins pipeline code在 Jenkins 管道代码中通过 shell 脚本运行时找不到 SQL 命令
【发布时间】:2021-11-27 07:25:14
【问题描述】:

我正在尝试通过 shell 脚本在 Jenkins 管道中运行以下代码 -

sh'''
            export ORACLE_HOME=$ORACLE_HOME
            export ORACLE_SID=orcl
            cd $ORACLE_HOME/bin
            echo "Starting oracle database..."
            sqlplus /nolog
            conn sys/password as sysdba
            shutdown abort
            startup
            exit success
            echo "done"
            '''

但这会导致错误 -

SQL> + conn sys/password as sysdba /home/oracle/jenkins/workspace/Database_Error_Handling@tmp/durable-ca459d3c/script.sh: line 7: conn: command not found

没有找到任何命令,但是相同的命令在机器上可以正常工作。您能帮忙了解一下这里可能出了什么问题吗?

【问题讨论】:

    标签: oracle shell jenkins jenkins-pipeline sh


    【解决方案1】:

    尝试使用下面的脚本并在 sqlplus 提示符下替换您要执行的脚本

    export ORACLE_HOME=$ORACLE_HOME
    export ORACLE_SID=orcl
    echo "Starting oracle database..."
    $ORACLE_HOME/bin/sqlplus "/nolog"  **<<  EOF**
    
    select name from v$database;
    
    exit;
    
    -- Replace the above 2 lines which you want to execute it in sqlplus
    
    **EOF**
    
    echo "done"
    

    【讨论】:

    • 非常感谢!这帮助并节省了我的时间,因为我无法轻易弄清楚。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-17
    • 2020-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多