日期:2014-05-18  浏览次数:21360 次

C#调用BAT批处理文件连接sqlplus批量执行sql语句
用C#调用pl.bat,pl.bat里调用sqlplus执行一些sql语句

pl.bat内容:
sqlplus hyh/hyh@D_192.168.1.220 @runSql.sql



runSql.sql内容:
--写SQL语句  
SQL code
insert into imgs values(8,'hyh','hyh');
insert into imgs values(9,'hyh','hyh');
insert into imgs values(10,'hyh','hyh');
insert into imgs values(11,'hyh','hyh');
  
--提交  
commit;  
  
--去掉下边注释可以执行完让DOS界面停下来  
--PAUSE 按任意键继续......  
  
--退出  
exit  



C#调用代码:
C# code
Process process = new Process();
            process.StartInfo.UseShellExecute = true;
            process.StartInfo.FileName = Server.MapPath("sqlplus/pl.bat");
            process.StartInfo.CreateNoWindow = true;
            process.Start();



问题:为什么用鼠标双击pl.bat可以完全正确执行,数据也可以插入数据库,但是C#调用时却停在了:

连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

SP2-0310: 无法打开文件"runSql.sql"
SQL>



请各位多多指教!有什么办法在C#中调用pl.bat时,顺利执行runSql.sql里的内容,而不要停在这个地方!
(我这么做的目的是:做一个web安装程序,内含的sql脚本,用户点击exe文件时,自动搭起网站(已做好),把runSql.sql中的用户对象建入oralce数据库,一键完成形式的,虽然有些不足但还在完善)

------解决方案--------------------
学会google吧
------解决方案--------------------
路径问题。。。