/// <summary>
/// 利用osql执行sql脚本文件
/// </summary>
/// <param name="user">数据库用户名</param>
/// <param name="pwd">数据库密码</param>
/// <param name="database">数据库名称</param>
/// <param name="destSqlPath">Sql完整文件路径</param>
public static void ExcuteSqlFile(string user, string pwd, string database, string destSqlPath)
{
System.Diagnostics.Process sqlProcess = new System.Diagnostics.Process();
sqlProcess.StartInfo.FileName = "osql.exe ";
sqlProcess.StartInfo.Arguments =
" -U " + user + //数据库用户名
" -P " + pwd + //数据库密码
" -d " + database + //数据库名称
" -i " + destSqlPathName + //Sql完整文件路径
" -o " + destSqlPathName.replace(".sql",".txt"); //执行结果导出文件路径
sqlProcess.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
sqlProcess.Start();
sqlProcess.WaitForExit();//程序安装过程中执行
sqlProcess.Close();
}
注:执行结果导出路径无法在新创建的文件夹中创建,即在程序运行中创建的文件夹,是无法接受到sql执行结果的。
参考:https://blog.youkuaiyun.com/yu13767514297/article/details/49633877
OSQL 命令
命令区别大小写,命令区别大小写,命令区别大小写,命令区别大小写,命令区别大小写,命令区别大小写