我的winform关闭了数据库的进程sqlservr.exe之后再次进行数据库操作,在建立SqlDataReader的时候出现渠道正在关闭的错误,如何解决?后来我想把我kill掉的进程重新开启,如何把kill掉的进程重新开启啊?为什么我kill()的进程的StartInfo里面的filename和workingDirectory都是“”空的呢?

解决方案 »

  1.   

    你把Sql的服务都关了,当然报错了
    在开始菜单里面,从新打开这个服务
      

  2.   

    对SQL进程 System.Diagnostics.Process.Start里执行  NET STOP  MSSQLSERVER 和 NET START MSSQLSERVER来停止和启动
      

  3.   


    具体怎么使用NET STOP  MSSQLSERVE
    我的是winform程序
      

  4.   

      System.Diagnostics.Process.Start("CMD.EXE","/C NET STOP MSSQLSERVER");
      System.Diagnostics.Process.Start("CMD.EXE","/C NET START MSSQLSERVER");
      

  5.   


    我想关闭的不是SQL服务
    有两个进程一个sqlservr.exe用户名是NETWORK SERVICE的以上语句操作的是这个进程
    还有一个进程是sqlservr.exe用户名是Administrator,我希望对这个进程关闭和重启
      

  6.   

    添加引用 System.ServiceProcess;            ServiceController myService = new ServiceController();
                myService.ServiceName = "MSSQLSERVER";
                string svcStatus = myService.Status.ToString();
                if (svcStatus == "Running")
                {
                    myService.Stop();
                }
                else if (svcStatus == "Stopped")
                {
                    myService.Start();
                }
                else
                {
                    myService.Stop();
                }
      

  7.   


    这样停止的也是NETWORK的那个吧而且在string svcStatus = myService.Status.ToString();
    这里会出现错误
      

  8.   

    楼上出现的错误为 无法打开计算机“.”上的MSSQLSEVER服务
      

  9.   

    System.Diagnostics.Process.Start("CMD.EXE","/C NET START MSSQLSERVER");这样就可以启动sqlserver服务了,启动后,你就可以连接数据库做操作了。
      

  10.   

    我原来只是把Administrator的那个进程kill掉了,sqlserver服务还在的,而且我是可以连接数据库的,只是在sqldatareader创建的时候报错说渠道正在关闭
      

  11.   

    如果你找不到错误解决方法的话,可以尝试kill()后关闭服务, 再次使用的使用直接打开使用,
      

  12.   

    我想获取我kill的进程的filename和路径,来开启一个新的进程
    可是不知道为什么我kill的那个进程的StartInfo里面的filename和workingdirectory都是空的?
    我该如何获取这两个属性呢?