private static int ExecuteMSSql(DbInfo db, string sqlPath)
{
Console.WriteLine("=================================================================");
Console.WriteLine("==========当前执行的mssql脚本:"+sqlPath);
Console.WriteLine("=================================================================");
if (db != null)
{
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.FileName = "cmd.exe";//要执行的程序名称
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;//可能接受来自调用程序的输入信息
p.StartInfo.RedirectStandardOutput = true;//由调用程序获取输出信息
p.StartInfo.CreateNoWindow = true;//不显示程序窗口
p.Start();
string Command = string.Format(@"sqlcmd -U{0} -P{1} -S{2} -d{3} -b -i {4}", db.User, db.Password, db.Server, db.Database, sqlPath);
p.StandardInput.WriteLine(Command); //向CMD窗口发送输入信息:
p.StandardInput.WriteLine("exit");
p.WaitForExit();
string sOutput = p.StandardOutput.ReadToEnd();//获取CMD窗口的输出信息,必须放在WaitForExit后面
Console.WriteLine(sOutput);//输出CMD执行的返回信息,
int rt = p.ExitCode;//CMD返回值,成功为0失败为1 必须放在WaitForExit后面.在执行的Command里面必然加上-b,否则一直返回O
p.Close();
Console.WriteLine(sOutput);
if (rt == )
{
Console.WriteLine("=================================================================");
Console.WriteLine("==========返回值:-9,mysql脚本执行出错,没有返回执行成功结果");
Console.WriteLine("==========mysql脚本:"+sqlPath);
Console.WriteLine("=================================================================");
return -;//脚本错误
}
else
{ return ; }
}
else
{
Console.WriteLine("=================================================================");
Console.WriteLine("==========返回值:-8,mysql数据库连接读取失败,为Null");
Console.WriteLine("=================================================================");
return -;//数据库连接读取失败
} } private static int ExecuteMySql(DbInfo db, string sqlPath)
{
Console.WriteLine("=================================================================");
Console.WriteLine("==========当前执行的mysql脚本:"+sqlPath);
Console.WriteLine("=================================================================");
if (db != null)
{
Process myProcess = new Process();
myProcess.StartInfo = new ProcessStartInfo();
myProcess.StartInfo.UseShellExecute = false;
myProcess.StartInfo.FileName = "cmd.exe";
string Command = string.Format("/c mysql.exe --host={0} -u{1} -p{2} --default-character-set=utf8 {3} -v -E < \"{4}\"", db.Server, db.User, db.Password, db.Database, sqlPath);
myProcess.StartInfo.Arguments = Command;
myProcess.Start();
myProcess.WaitForExit();
int rt = myProcess.ExitCode;//CMD返回值,成功为0失败为1 必须放在WaitForExit后面.在执行的Command里面必然加上-b,否则一直返回O
if (rt == )
{
Console.WriteLine("=================================================================");
Console.WriteLine("==========返回值:-9,mssql脚本执行出错脚本出错");
Console.WriteLine("==========mssql脚本:"+sqlPath);
Console.WriteLine("=================================================================");
Console.WriteLine("");
return -;//脚本错误
}
else
{ return ; }
}
else
{
Console.WriteLine("=================================================================");
Console.WriteLine("==========返回值:-8,mssql数据库连接读取失败,为Null");
Console.WriteLine("=================================================================");
return -;//数据库连接读取失败
}
}

最新文章

  1. Spring学习记录(十一)---使用注解和自动装配
  2. 关于Webstorm的一些配置
  3. 关于js调用外部部署的web api
  4. loadrunner录制脚本出现urs.asmx解决方法:
  5. ASP.net 上传
  6. 从输入 URL 到页面加载完的过程中都发生了什么事情?
  7. HDU-4614 Vases and Flowers (线段树区间更新)
  8. JavaScript设计模式
  9. AIM Tech Round (Div. 2) B. Making a String 贪心
  10. linux 驱动模块 内核编译环境
  11. 如何使用Maven的archetype快速生成一个新项目(解决生成项目目录不完整问题)
  12. Java IO流学习总结(1)
  13. 什么是 core dump ? 以及如何使用gdb对 core dumped 进行调试
  14. BEM 中文翻译
  15. python-进程池与线程池,协程
  16. Arduino IDE for ESP8266 ()esp8266项目 WIFI攻击器
  17. Python从入门到放弃系列(Django/Flask/爬虫)
  18. 自动化工具之二:win32gui
  19. Windows死机的话,可能的一些猫病
  20. 笨办法学Python - 习题3: Numbers and Math

热门文章

  1. Entity Framework 学习之--Ling to entity实现分页
  2. Oracle VM VirtualBox 5.0 CentOS 6.4 共享文件夹
  3. HDU 5695 Gym Class 拓扑排序
  4. 设计模式之装饰模式(Decorator)
  5. 【CodeForces】【338E】Optimize!
  6. C#简单windows服务
  7. 使用css3伪元素制作时间轴并且实现鼠标选中高亮效果
  8. VC++之GetLastError()使用说明
  9. Stacked injection--堆叠注入--堆查询注入
  10. Form的用法