2017-07-26 30 views
0

我已经写了我的代码在批处理脚本中,但我没有得到预期的结果。下面是我的代码:连接到1个以上的oracle数据库

echo updating database 

cd C:\Users\xxx\Desktop\myfolder\web 

sqlplus web/dbpassword @ web.sql > weblog.log 

cd C:\Users\xxx\Desktop\myfolder\archive 

sqlplus archive/dbpassword @ archive.sql > archive.log 

echo done 
cmd /k 

我试图做的是连接到网络执行web.sql,然后连接到存档和执行archive.sql,但是当我执行我只看到网络日志中网络文件夹,但不是在存档文件夹,所以只有web.sql被执行,回声完成从未达到

回答

2

的sqlplus继续从标准输入读取命令,以防止这种情况的脚本标准输入可以关闭

sqlplus web/dbpassword @ web.sql > weblog.log < NUL 

,否则可能会被称为

sqlplus web/dbpassword <web.sql> weblog.log 
+0

非常感谢,这是工作但还有一件事,当我添加set/p password =然后我使用%password%而不是dbpassword时,它被卡在 echo更新数据库,它看起来好像没有从输入中获取密码。任何线索? – Kurama