Jos*_*shL 132 oracle command-line-interface sqlplus
我想通过 Windows 命令提示符通过 SQL Plus 运行 Oracle 脚本。该脚本不包含“退出”命令,但我仍然希望 SQL Plus 退出,在脚本完成时将控制权返回到命令提示符。我的目标是在不修改脚本的情况下做到这一点。这可能吗?
Dav*_*sta 161
另一种方法是在批处理文件中使用此命令:
echo exit | sqlplus user/pass@connect @scriptname
Run Code Online (Sandbox Code Playgroud)
use*_*847 17
我发现这是最好的解决方案,它可以在终端或脚本中使用:
echo @scriptname | sqlplus username/password@connect
Run Code Online (Sandbox Code Playgroud)
小智 14
现在意识到您的问题可能与 sql 文件本身有关,意识到需要告诉 sqlplus 退出。我这样做的方法是:
从双中选择 *; 退出; /
(斜线很重要。它告诉 sqlplus 执行它上面的 statemet。)
小智 14
隐藏用户信息并退出的最佳方式是:
exit | sqlplus -S user/pwd@server @script.sql
Run Code Online (Sandbox Code Playgroud)
exit
提供给 sqlplus 的输出,迫使它退出。-S
抑制脚本中除 sql 查询之外的所有服务器输出。
您也可以在 shell 脚本中执行此操作。
sqlplus /nolog <<EOF
connect user/pass
@run_some_file.sql
select * from dual;
EOF
Run Code Online (Sandbox Code Playgroud)
您可能需要转义“;” 用\。