cmd执行mssql脚本或者执行mysql脚本
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 -;//数据库连接读取失败
}
}
cmd执行mssql脚本或者执行mysql脚本的更多相关文章
- Shell脚本中执行mysql的几种方式(转)
Shell脚本中执行mysql的几种方式(转) 对于自动化运维,诸如备份恢复之类的,DBA经常需要将SQL语句封装到shell脚本.本文描述了在Linux环境下mysql数据库中,shell脚本下调用 ...
- Shell脚本中执行sql语句操作mysql的5种方法【转】
对于自动化运维,诸如备份恢复之类的,DBA经常需要将SQL语句封装到shell脚本.本文描述了在Linux环境下mysql数据库中,shell脚本下调用sql语句的几种方法,供大家参考.对于脚本输出的 ...
- shell脚本循环执行mysql语句
参考资料:Shell脚本中执行mysql语句 需求:数据库里有张数据表存储的是用户对电影的评价(user_id movie_id rating time),但是我现在要每部电影的总评分. 解决方法: ...
- shell 脚本中执行mysql语句
通过hash建表之后,表的数据量巨大2048,那怎么去验证表是否建成功呢? 逻辑生成表名这部分就不写了.只要能建表成功,这部分的脚本肯定是有的.那么怎么在shell中执行selec查询并返回呢 只要在 ...
- shell执行mysql的脚本(包括mysql执行shell脚本)
在Shell中执行mysql的脚本,这里介绍比较容易使用的一种方法 首先写好sql的脚本,后缀为.sql,比如 sql_file.sql:内容如下 #这是SQL的脚本create table if n ...
- 使用shell脚本定时执行备份mysql数据库
使用shell脚本定时执行备份mysql数据库 #!/bin/bash ############### common file ################ #本机备份文件存放目录 MYSQLBA ...
- [问题排查]通过调度系统远程执行脚本,报mysql command not found异常
今天在公司使用LS调度系统(百度内部的工具),执行远程脚本的时候,每次都失败. 脚本内容比较简单,其实就是将HDFS(AFS)中的数据插入到Palo(Doris)数据库中,脚本如下: mysql -h ...
- shell脚本中执行mysql sql脚本文件并传递参数
1 shell 文件内容替换 sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作,下面先了解一下sed的用法. 调用sed命 ...
- shell脚本中执行sql脚本并传递参数(mysql为例)
1.mysql脚本文件 t.sql insert into test.t values(@name,@age); exit 2.shell脚本文件 a.sh (为方便演示,与t.sql文件放在同一目 ...
随机推荐
- 设置 Eclipse 智能代码提示,大幅度减少 alt+/ 使用频率,打每个字都出现代码提示的办法
以前网上有个英文版本的,现在自己汉化一下...O(∩_∩)O 哈哈 ~ http://www.cnblogs.com/lidabo/archive/2013/03/05/2944245.html ...
- 用PHP对数据库数据进行删除
显示页面: <body> <table width="100%" border="1" cellpadding="0" c ...
- shell 进程查询相关的命令
同一个进程部署多个,如何知道删除哪个: ll /proc/ 会显示位置 查看pid下哪些socket链接 ll /proc//fd
- openstack与VMware workStation的区别
免责声明: 本文中使用的部分图片来自于网络,如有侵权,请联系博主进行删除 最近一直在研究云计算,恰好有个同事问了我一个问题:你们研究的openstack到底是什么东西?跟VMware Work ...
- Linux 下Valgrind 使用
Valgrind包括如下一些工具: Memcheck.这是valgrind应用最广泛的工具,一个重量级的内存检查器,能够发现开发中绝大多数内存错误使用情况,比如:使用未初始化的内存,使用已经释放了的内 ...
- 在C#中创建word文档
在下面文档中 首先引用word组件:Microsoft.Office.Interop.Word 在头文件中写上 using Word = Microsoft.Office.Interop.Word; ...
- mvc从xheditor编辑器中获取内容时存在潜在危险
xmfdsh在使用xheditor提交要发布的文章等内容的时候出现了如下的错误: 从客户端(Content="<p style="text-align...")中检 ...
- codeforces #236 div2 简洁题解
A:A. Nuts time limit per test 1 second memory limit per test 256 megabytes input standard input outp ...
- “System.Data.Entity.Internal.AppConfig"的类型初始值设定项引发异常。{转}
<connectionStrings> <add name="ConnectionStringName" providerName="System.Da ...
- JavaScript 中的 this
JavaScript 语言中的 this 由于其运行期绑定的特性,JavaScript 中的 this 含义要丰富得多,它可以是全局对象.当前对象或者任意对象,这完全取决于函数的调用方式.JavaSc ...