访问 sqlplus 的 Shell 脚本

Posted

技术标签:

【中文标题】访问 sqlplus 的 Shell 脚本【英文标题】:Shell script to access sqlplus 【发布时间】:2010-12-22 23:51:02 【问题描述】:

任何人都可以帮助我将 shell 脚本连接到访问 sqlplus 。在 sqlplus 中,我需要运行一个 sql 脚本并将结果邮寄回一个邮件 ID。

例子

ls dir ----> has  abc.sql

我去sqlplus并通过==> **sqlplus username/password@instance @abc**运行查询

我想将结果邮寄到 xyz@enterprise.com

【问题讨论】:

【参考方案1】:

你应该可以做到:

sqlplus username/password@instance @abc | mail -s "Email Subject" xyz@enterprise.com

【讨论】:

感谢您的回复。但是当我尝试上述行时,系统什么也没做。然后我不得不取消 ^Z[1] + Stopped (SIGTSTP) sqlplus username/password@instance @abc | mail -s "电子邮件主题" xyz@enterprise.com @misguided:如果你自己执行sqlplus 命令,你会输出到屏幕上吗?如果您使用echo "hello" | mail -s "test message" xyz@enterprize.com,您会收到那封电子邮件吗?【参考方案2】:

你应该将 sqlplus 的输出重定向到一个文件 然后使用 mailx 将其发送到指定的电子邮件 ID。

【讨论】:

不需要文件,直接通过管道到mailx

以上是关于访问 sqlplus 的 Shell 脚本的主要内容,如果未能解决你的问题,请参考以下文章

通过 sqlplus 运行 shell 脚本

linux下shell脚本中sqlplus调用shell变量的问题

如何在shell中调SQLPLUS 执行SQL语句

如何在 shell 脚本中运行 SQL 查询时获得类似 SQLPLUS 的输出

从 shell 脚本运行 sqlplus 时管理错误处理

无法在 PHP 页面创建的 shell 脚本中执行 sqlplus 命令