【问题标题】:Using SQLPLUS command in UNIX scripts在 UNIX 脚本中使用 SQLPLUS 命令
【发布时间】:2014-03-29 04:20:52
【问题描述】:

我正在尝试理解一个在 unix 中使用 sqlplus 命令连接到 Oracle 数据库的简单脚本:

1 sqlplus -s /nolog > /dev/null 2>&1 <<EOF
2 whenever sqlerror exit failure
3 connect $user_pwd
4 exit success
5 EOF

如果我使用的是 unix,那么我使用命令作为sqlplus $user_pwd 来连接到 oracle 数据库并退出sqlplus 命令我使用exit。请帮助我理解第 1、2、4、5 行。对于专家来说这可能是一个简单的问题,但我无法理解何时使用这些。

【问题讨论】:

  • 尝试搜索 heredoc

标签: oracle bash unix sqlplus


【解决方案1】:
  • -s 用于静音模式(不输出任何内容)
  • &gt; /dev/null 2&gt;&amp;1 事情是为了强制不显示任何东西。 (将标准输出和标准错误重定向到/dev/null)
  • /nolog 用于不尝试使用命令行参数登录。 (此处未提供登录凭据。)
  • &lt;&lt;EOF 是一个heredoc 输入重定向。直到EOF 的行将作为标准输入传递给sqlplus。 (这就是为什么最后一行是EOF
  • 关于whenever这一行:http://docs.oracle.com/cd/B19306_01/server.102/b14357/ch12052.htm 所以如果发生错误,该命令的返回值将会失败。
  • connect $user_pwdsqlplus 连接到服务器
  • exit success 使得 sqlplus 返回会成功。 http://docs.oracle.com/cd/B19306_01/server.102/b14357/ch12023.htm#i2697968

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-07
    • 2016-12-04
    • 1970-01-01
    • 2012-03-29
    • 1970-01-01
    • 1970-01-01
    • 2013-06-09
    • 1970-01-01
    相关资源
    最近更新 更多