用了近一天的时间研究了C#如何开启SqlServer数据库的服务,起先应用的是C#自带的System.ServiceProcess.ServiceContorller类,但个人认为它在win7下效果不佳,或许由于个人系统问题,最终决定放弃去选择应用C#的system.diagnostice.process.start方法执行cmd指令,下面我示范开启SqlServer最具代表的两个服务mssqlserver与mssqlserveragent,下面是本人练习写的控制台下的代码,经由多次测试均可成功
代码如下:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Management;
namespaceConsoleApplication1
{
classProgram
{
staticvoidMain(string[]args)
{
while(1==1)
{
Console.Write(‘nn可选操作:nn1.启动数据库服务2.停止数据库服务nn开始执行:’);
stringstrQueryState=Console.ReadLine();
if(strQueryState.Trim()==’1′)
{
stringstrFilePath=GetFilePath(‘Start’);
System.IO.File.AppendAllText(strFilePath,GetCmdStr(‘start’),System.Text.Encoding.GetEncoding(‘gb2312’));
System.Diagnostics.Process.Start(strFilePath);
}
elseif(strQueryState.Trim()==’2′)
{
stringstrFilePath=GetFilePath(‘Stop’);
System.IO.File.AppendAllText(strFilePath,GetCmdStr(‘stop’),System.Text.Encoding.GetEncoding(‘gb2312’));
System.Diagnostics.Process.Start(strFilePath);
}
}
}
///<summary>
///操作所需的Cmd指令
///</summary>
///<paramname=’StateStr’>操作</param>
///<returns>Cmd指令</returns>
privatestaticstringGetCmdStr(stringStateStr)
{
stringcmdStr=”;
if(StateStr. ToLower().Trim()==’start’)
{
cmdStr=@’@echo.&del%0&@echooff&@echo.正在启动服务MSSQLSERVERandMSSQLSERVERAGENT……&’
+’@echo.&@netstartMSSQLSERVER&@netstartSQLSERVERAGENT&@echo.服务启动完毕!’;
}
elseif(StateStr.ToLower().Trim()==’stop’)
{
cmdStr=@’@echo.&del%0&@echooff&@echo.正在停止服务MSSQLSERVERandMSSQLSERVERAGENT……&’
+’@echo.&@netstopsqlserveragent& @netstopmssqlserver&@echo.服务停止完毕!’;
}
returncmdStr;
}
///<summary>
///获取一个文件是否存在于磁盘
///</summary>
///<paramname=’PathStr’>文件名称</param>
///<returns>返回可创建文件路径</returns>
privatestaticstringGetFilePath(stringstrFileName)
{
stringstrTem=”;//用于存储要保存文件路径
string[]strPath=newstring[]{@’C:\’,@’D:\’,@’E:\’,@’F:\’};//检测的盘符
strFileName+=DateTime.Now.Year.ToString()+DateTime.Now.Month.ToString()+DateTime.Now.Day.ToString()
+DateTime.Now.Hour.ToString()+DateTime.Now.Minute.ToString()+DateTime.Now.Second.ToString()+DateTime.Now.Millisecond.ToString().Trim()+’.cmd’;//为防止重复为文件重新命名
foreach(stringpathStrinstrPath)//循环判断文件目录存在性
{
if(!System.IO.Directory.Exists(pathStr))//判断目录存在
{
continue;
}
else
{
if(System.IO.File.Exists(pathStr+strFileName))//判断文件存在
&nbs p; {
continue;
}
else
{
strTem=pathStr+strFileName;
break;
}
}
}
returnstrTem;//返回可建文件路径
}
}
}
您可能感兴趣的文章:c#操作sqlserver2008的界面实例代码C#如何实现对sqlserver数据库的增删改查C#查询SqlServer数据库并返回单个值的方法C#访问SqlServer设置链接超时的方法C#更新SQLServer中TimeStamp字段(时间戳)的方法C#实现异步连接SqlServer数据库的方法SQLServer中调用C#类中的方法实例(使用.NET程序集)C#连接到sqlserver2008数据库的实例代码
详解C++中的对象指针与对象数组
详解C++编程中的析构函数
上述就是C#学习教程:C#控制台程序实现开启、关闭SQLServer服务的代码分享分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/905484.html