从 SQLPlus 运行 SQL 脚本失败时如何查看错误?

Posted

技术标签:

【中文标题】从 SQLPlus 运行 SQL 脚本失败时如何查看错误?【英文标题】:How to see the error when running an SQL script from SQLPlus fails? 【发布时间】:2019-10-09 11:03:00 【问题描述】:

我已经能够在 SQL Plus 中运行 SQL 脚本 script.sql,如下所示:

SQL>@script.sql

我在启动 SQL Plus 并从 Powershell 中登录后这样做了,如下所示:

C:\projects\temp> sqlplus myuser/mypassword@my.tns.address

现在我想做的是直接从 Powershell 运行上面的脚本。据我了解,我应该能够这样做:

C:\projects\temp> sqlplus myuser/mypassword@my.tns.address script.sql

我希望这能正常工作,特别是考虑到我使用相同的用户和密码、相同的 TNS 并调用相同的脚本。

然而,这个命令不是运行脚本,而是输出 SQL Plus 的帮助文本,即运行 sqlplus -H 时显示的相同文本。

我假设上面的命令有一些语法错误或其他错误,但问题是找出那个错误是什么。

上面的最后一个命令有什么明显错误吗?或者有什么方法可以让我提高冗长程度,以便我可以提示可能出了什么问题?

【问题讨论】:

See the section titled "Running a Script as You Start SQL*Plus" in the SQL*Plus manual 【参考方案1】:

缺少“@”来调用脚本。试试这个吧

C:\projects\temp> sqlplus myuser/mypassword@my.tns.address @script.sql

【讨论】:

以上是关于从 SQLPlus 运行 SQL 脚本失败时如何查看错误?的主要内容,如果未能解决你的问题,请参考以下文章

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

Ansible - 当至少一个项目在循环中失败时跳过任务

如何从 shell/shell 脚本获取 sqlplus 命令的输出状态?

如何从 pl sql 过程运行 sql 脚本

尝试从 powershell 命令行使用 sqlplus 执行 sql 脚本

通过 sqlplus 运行 shell 脚本