使用sqlplus命令

时间:2015-10-28 16:21:09

标签: oracle batch-file sqlplus

我想从批处理文件中执行 PL / SQL 脚本。经过一些研究,我写了这个:

sqlplus.exe %user%/%pwd%@%db% @c:\users\NDL\SQL\MHUHMS.sql %%l

之前设置了user,pwd和db。但是在这里我必须用一个参数执行脚本MHUHMS.sql。它似乎不起作用;它给了我一个ORA-01017错误,然后问我用户和密码。当我提供与批处理文件中使用的值相同的值时,它不会执行我的脚本。

screenshot screenshot

我基于sqlcmd版本:

SQLCMD -S touoracst01 -U %user% -P %pwd% -d %db% -v l ="%%l" -i c:\users\NDL\SQL\MHUHMS.sql

但是有一些问题:

  • 我不必传递参数-S touoracst01
  • 这是正确的转换吗?或者我做错了什么?

我不会'想修改SQL脚本,所以我希望问题只出现在批处理文件中。

编辑:我像这样修改我的sqlplus命令

sqlplus -L %user%/%pwd%@%db% < "c:\Hardis\NDL\SQL\MHUHMS.sql" %%l

我连接!这部分没问题,但似乎我对 pl / sql 脚本的调用不好,参数为%% l。有我的循环:http://puu.sh/l1Kg2/f66d9c2aa7.png如果有人可以帮助我。因为带参数的调用似乎很好....

1 个答案:

答案 0 :(得分:1)

经过大量研究后我发现了这个:

sqlplus -L %user%/%pwd%@%db% @C:\Hardis\NDL\SQL\MHUHMS.sql "%%l"

%% l是我循环的变量。谢谢你的帮助!