【问题标题】:sqlplus missing output when using Java SSH API使用 Java SSH API 时 sqlplus 缺少输出
【发布时间】:2013-03-12 14:23:19
【问题描述】:

我有一个执行 sqlplus 命令的 shell 脚本 (bash),当我从终端(或 PuTTY 或 Xshell 等 SSH 客户端)运行它时,它运行良好,这意味着我可以读取它的输出。现在我创建了一个 Web 界面,用户可以在其中启动这个脚本,但是执行失败,因为这个相同的 sqlplus 似乎没有被执行。看看我创建的以下简化示例:

测试shell脚本(test.sh):

echo 1
sqlplus -s SIEBEL/SIEBEL@SBLQA02 @select.sql
echo 2

select.sql:

select 'a' from dual;
exit;

在终端中生成的输出:

1

'
-
a

2

在 Web 客户端上生成的输出(到目前为止,我尝试使用 Ganymed SSH-2 for Java 和 sshj,产生相同的结果):

1
2


如您所见,只有简单的 echo 命令产生了输出。 sqlplus 输出发生了什么?有什么遗漏吗?

提前感谢您的帮助!

【问题讨论】:

    标签: java bash ssh sshj


    【解决方案1】:

    以防万一:sqlplus不在SSH API在应用服务器中创建的会话的路径中,所以找不到sqlplus命令,显然没有生成标准输出。这个问题可以在shell脚本调用之前导出sqlplus路径来解决。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-03
      • 1970-01-01
      • 1970-01-01
      • 2011-03-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多