linux 如何使用bash shell脚本调用Oracle SQL查询

jvidinwx  于 2023-01-20  发布在  Linux
关注(0)|答案(1)|浏览(261)

如何使用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:未找到命令--当我运行上述脚本时
有人能给我带路吗?

wbrvyc0a

wbrvyc0a1#

在第一个脚本中,一个错误是在使用count(1)时。

var=$(SELECT count(1) FROM dual)

这意味着shell应该执行一个名为SELECT的程序,参数为 count(1)FROMdual,并将其stdout存储到变量var中。

var=$(sqlplus .... )

在第二个脚本中,错误消息只是表示在路径中找不到 sqlplus。请将其添加到PATH中,或显式提供命令的绝对路径。

相关问题