You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux环境下sqlplus 18/19/21如何使用含@字符的密码登录

解决方案

方案1(优先推荐,全版本兼容、适配自动化场景)

通过/nolog参数结合shell heredoc实现无交互连接,完全绕开命令行特殊字符解析问题,支持任意特殊字符的密码,无需额外转义:

sqlplus /nolog << 'EOF'
CONNECT USER/"@PWD"@SERVER:1521/BASE
-- 此处填写需要执行的SQL逻辑
SELECT SYSDATE FROM DUAL;
EXIT;
EOF

注意heredoc的起始标记加单引号'EOF'可以避免shell提前解析内容里的特殊变量,适配更复杂的SQL场景。

方案2(单行命令写法,适合简单调用场景)

18c+版本调整了命令行参数的解析规则,需要把引号转义后传递给sqlplus原生识别,Bash环境下可使用以下写法:

sqlplus USER/\"@PWD\"@SERVER:1521/BASE

该写法和shell类型强相关,不同shell(比如csh、zsh)的转义规则会有差异,生产自动化场景优先选择方案1。

内容的提问来源于stack exchange,提问作者Nacros

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 05:00:02