我想从批处理文件中执行 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如果有人可以帮助我 . 因为带参数的调用似乎很好....
1 回答
经过大量研究后我发现了这个:
%% l是我循环的变量 . 感谢你的帮助 !