2016.1.23 通过cmd在程序中执行sql脚本

System.Diagnostics.Process pro = new System.Diagnostics.Process();

            pro.StartInfo.FileName = "cmd.exe";

            pro.StartInfo.UseShellExecute = false;

            pro.StartInfo.RedirectStandardInput = true;

            pro.StartInfo.RedirectStandardOutput = true;

            pro.StartInfo.CreateNoWindow = true;

            pro.Start();

 

            //pro.StandardInput.WriteLine("net use \\\\202.149.225.121\\ipc$ \"AISchina_Admin\" /user:\"administrator\"");

            //pro.StandardInput.WriteLine("cd D:\\程序\\");

            //pro.StandardInput.WriteLine("dir *.*");

 

            //重点:下面写入批处理命令时,一定要在末尾换行加上exit,表示退出cmd窗口,

            //同时sql脚本末尾也必须写上exit,表示退出sqlplus,否则程序会一直等待cmd结束,假死。

            string cmd = string.Format(@"sqlplus {0}/ndp@ndp @{1} 

            exit", AisLogical.dbuser, tb_sqlpath.Text);

            pro.StandardInput.WriteLine(cmd);

           

            // 截取输出流

            StreamReader reader = pro.StandardOutput;

            string line = reader.ReadLine();   // 每次读一行

            while (!reader.EndOfStream)  // 不为空则读取

            {

                if(line!="")

                    tb_output.AppendText(line + Environment.NewLine);  // Environment .NewLine 换行   

                line = reader.ReadLine().Trim();

                Application.DoEvents();

            }

           

            pro.WaitForExit();

            pro.Close();

转载于:https://www.cnblogs.com/mol1995/p/5964953.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值