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()); } }