C#来执行.sql脚本

最近用到C#来执行.sql脚本,查了下资料大概有三种方式:

1.将.sql作为文件流读出,作为commandtext来执行。

2.将要执行的.sql文件写成bat,启动一个进程来执行这个bat

3.直接调用osql.exe来执行.sql文件,代码如下:

          
            try
            {
                System.Diagnostics.Process pr = new System.Diagnostics.Process();
                pr.StartInfo.FileName = osql.exe;
                pr.StartInfo.Arguments = -U sa -P sa -d master -s 127.0.0.1 -i Sql.sql;
                pr.StartInfo.UseShellExecute = false;
                pr.StartInfo.RedirectStandardOutput = true;  //重定向输出
             
                pr.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;//隐藏输出窗口
                pr.Start();
                
                System.IO.StreamReader sr = pr.StandardOutput;
                Console.WriteLine(sr.ReadToEnd());
   
                pr.WaitForExit();
                pr.Close();
            }
            catch(Exception err)
            {
                MessageBox.Show(err.ToString());
            } 
posted @ 2011-01-21 16:50  jason_tang  阅读(405)  评论(0)    收藏  举报