如何使用bash shell脚本调用sql查询。我尝试了下面的方法,但似乎有一些语法错误:
#!/bin/sh
LogDir='/albt/dev/test1/test2/logs' # log file
USER='test' #Enter Oracle DB User name
PASSWORD='test' #Enter Oracle DB Password
SID='test' #Enter SID
sqlplus -s << EOF > ${LogDir}/sql.log
${DB_USER_NAME}/${DB_PASSWORD}@${DB_SID}
SELECT count(1) FROM dual; # SQL script here to get executed
EOF
var=$(SELECT count(1) FROM dual)
我收到-意外的令牌错误
#!/bin/sh
user="test"
pass="test"
var="$1"
sqlplus -S $user/$pass <<EOF
SELECT * FROM tableName WHERE username=$var;
exit;
EOF
我正在获取- sqlplus:未找到命令--当我运行上述脚本时
有人能给我带路吗?
1条答案
按热度按时间wbrvyc0a1#
在第一个脚本中,一个错误是在使用
count(1)
时。这意味着shell应该执行一个名为
SELECT
的程序,参数为 count(1)、FROM 和 dual,并将其stdout存储到变量var
中。在第二个脚本中,错误消息只是表示在路径中找不到 sqlplus。请将其添加到PATH中,或显式提供命令的绝对路径。