C# 执行sql文件

/// <summary>
        /// 执行sql文件
        /// </summary>
        void StartupSQLFile()
        {

  /*
            以下是osql的一些参数用法:

            用法: osql                   [-U 登录 ID]          [-P 密码]
              [-S 服务器]                [-H 主机名]           [-E 可信连接]
              [-d 使用数据库名称]        [-l 登录超时值]       [-t 查询超时值]
              [-h 标题]                  [-s 列分隔符]         [-w 列宽]
              [-a 数据包大小]            [-e 回显输入]         [-I 允许带引号的标识符]
              [-L 列出服务器]            [-c 命令结束]         [-D ODBC DSN 名称]
              [-q "命令行查询"]          [-Q "命令行查询" 并退出]
              [-n 删除编号方式]          [-m 错误级别]
              [-r 发送到 stderr 的消息]  [-V 严重级别]
              [-i 输入文件]              [-o 输出文件]
              [-p 打印统计信息]               [-b 出错时中止批处理]
              [-X[1] 禁用命令,[退出的同时显示警告]]
              [-O 使用旧 ISQL 行为禁用下列项]
            */

            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;
                //执行结果,包含中文执行失败
                string result = sr.ReadToEnd();

                pr.WaitForExit();
                pr.Close();
       
            }
            catch (Exception err)
            {
                MessageBox.Show(err.ToString());
            }
        }
原文地址:https://www.cnblogs.com/caoyinglai/p/3672615.html