命令行中的sqlplus语句 [英] sqlplus statement from command line
问题描述
有可能做这样的事情吗?
Is it possible to do something like this?
$ sqlplus -s user/pass "select 1 from dual"
或
$ echo "select 1 from dual" | sqlplus -s user/pass
我知道我可以将select 1 from dual
放在文件中并执行以下操作:
$ sqlplus -s user/pass @myFile.sql
I know I can put select 1 from dual
in a file and do this:
$ sqlplus -s user/pass @myFile.sql
但是我想知道是否真的有必要创建一个文件来满足sqlplus
but I'm wondering if it's actually necessary to create a file just to satisfy sqlplus
推荐答案
请注意,在Unix/Linux上,只要将"ps -ef"命令直接放在用户名/密码上,任何人都可以看到您的用户名/密码.命令行 .可能是一个重大的安全问题(或变成一个重大的安全问题).
Just be aware that on Unix/Linux your username/password can be seen by anyone that can run "ps -ef" command if you place it directly on the command line . Could be a big security issue (or turn into a big security issue).
我通常建议创建一个文件或使用此处文档,以便在Unix/Linux中保护用户名/密码不被"ps -ef"命令查看.如果用户名/密码包含在脚本文件或sql文件中,则可以使用适当的用户/组读取权限进行保护.然后,您可以在shell脚本中将用户/密码保存在文件中,如下所示:
I usually recommend creating a file or using here document so you can protect the username/password from being viewed with "ps -ef" command in Unix/Linux. If the username/password is contained in a script file or sql file you can protect using appropriate user/group read permissions. Then you can keep the user/pass inside the file like this in a shell script:
sqlplus -s /nolog <<EOF
connect user/pass
select blah;
quit
EOF
这篇关于命令行中的sqlplus语句的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!