我想从批处理文件中执行 PL / SQL 脚本。经过一些研究,我写了这个:
sqlplus.exe %user%/%pwd%@%db% @c:\users\NDL\SQL\MHUHMS.sql %%l
之前设置了user,pwd和db。但是在这里我必须用一个参数执行脚本MHUHMS.sql。它似乎不起作用;它给了我一个ORA-01017错误,然后问我用户和密码。当我提供与批处理文件中使用的值相同的值时,它不会执行我的脚本。
我基于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如果有人可以帮助我。因为带参数的调用似乎很好....
答案 0 :(得分:1)
sqlplus -L %user%/%pwd%@%db% @C:\Hardis\NDL\SQL\MHUHMS.sql "%%l"
%% l是我循环的变量。谢谢你的帮助!