【问题标题】:Executing Shell script which contains SQL Plus commands from Java Program执行包含来自 Java 程序的 SQL Plus 命令的 Shell 脚本
【发布时间】:2016-05-24 05:51:31
【问题描述】:

我有手动运行时正确执行的 Shell 脚本。但是我通过java程序运行shell脚本,shell程序运行,但它没有更新表,也没有抛出错误。下面包含我的 shell 脚本的详细信息和到 java 程序的链接。

Shell 脚本-

echo "started the script execution"
 echo "
            BEGIN
                update <<table_name>> set name='abc';
                commit;
           END;
          /
 "|  sqlplus -s $MD_DB_USER_NAME/$MD_DB_PASS@$MD_DB_SERVER
echo "After executing the update statement"

我从中调用 shell scipt 的 Java 程序:
http://www.codesandscripts.com/2014/10/java-program-to-execute-shell-scripts-on-remote-server.html

我认为程序与数据库连接。谁能告诉我可能是什么

【问题讨论】:

  • 如何调用shell脚本?
  • 将shell命令日志输出到日志文件中。这样你就知道到底是什么错误了。
  • echo $MD_DB_USER_NAME/$MD_DB_PASS@$MD_DB_SERVER 添加到脚本的开头以查看是否设置了变量。并检查脚本输出。通过在 Java 中使用它或将脚本重定向到临时文件。

标签: java shell jsch


【解决方案1】:

感谢以上回答。下面提到了我对我的问题的回答-

在运行 shell 脚本之前,我正在加载一个配置文件,其中包含我所有的数据库详细信息等。所以它工作正常。但是当我通过java程序运行时,没有加载配置文件。因此,在我的 shell 脚本的第一行中,我必须添加源“配置文件路径”。现在它工作正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-08
    • 1970-01-01
    • 1970-01-01
    • 2014-03-06
    • 1970-01-01
    • 2013-07-29
    • 1970-01-01
    • 2012-06-20
    相关资源
    最近更新 更多