Microsoft SQL Server 2005 Express Edition представляет собой продукт на основе службы. При построении приложения Microsoft Visual Studio 2005 в SQL Server 2005 Express Edition, можно определить состояние службы SQL Server Express, при запуске приложения. Чтобы снять с данного каталога атрибут «Только чтение», можно воспользоваться командой
ServiceControllerкласс, выполните следующие действия:
- Определение состояния службы SQL Server Express.
- Запуск службы SQL Server Express, если он не был запущен правильно.
Примечание.Установки по умолчанию SQL Server 2005 Express Edition использует имя экземпляра SQLEXPRESS. Это имя экземпляра сопоставляет имя службы MSSQL $ SQLEXPRESS.
Для использования
ServiceControllerкласс в консольном приложении Visual Studio для обнаружения и запуска службы SQL Server Express, выполните следующие действия:
- Запустите Visual Studio 2005.
- в менюФайл:Выберите пункт менюСОЗДАТЬ.и выберите командуProject.
- затем –Visual Basic-или-Visual C#Из спискаТипы проектови выберите командуПриложение консолиИз спискаУстановленные шаблоны Visual Studio..
Примечание.По умолчанию в файл Module1.vb создается в проекте Visual Basic. По умолчанию в файле Program.CS создается в проекте Visual C#. - ИспользуйтеConsoleApplication1от имениИМЯполя, а затем нажмите кнопкуOk..
- Добавьте ссылку на пространство имен "System.ServiceProcess". Выполните следующие действия::
- в менюProjectвыберите пунктДобавить ссылку.
- Перейдите на вкладку.netЩелкнитеSystem.ServiceProcessи выберите командуOk..
- Замените существующий код следующим кодом.
Примечание.Замените код в файл Module1.vb проекта Visual Basic. Замените код в Program.CS файла в проекте Visual C#.
Visual BasicImports System
Imports System.ServiceProcess
Module Module1
Sub Main()
Dim myServiceName As String = "MSSQL$SQLEXPRESS" 'service name of SQL Server Express
Dim status As String 'service status (For example, Running or Stopped)
Dim mySC As ServiceController
Console.WriteLine("Service: " & myServiceName)
'display service status: For example, Running, Stopped, or Paused
mySC = New ServiceController(myServiceName)
Try
status = mySC.Status.ToString
Catch ex As Exception
Console.WriteLine("Service not found. It is probably not installed. [exception=" & ex.Message & "]")
Console.ReadLine()
End
End Try
Console.WriteLine("Service status : " & status)
'if service is Stopped or StopPending, you can run it with the following code.
If mySC.Status.Equals(ServiceControllerStatus.Stopped) Or mySC.Status.Equals(ServiceControllerStatus.StopPending) Then
Try
Console.WriteLine("Starting the service...")
mySC.Start()
mySC.WaitForStatus(ServiceControllerStatus.Running)
Console.WriteLine("The service is now " & mySC.Status.ToString)
Catch ex As Exception
Console.WriteLine("Error in starting the service: " & ex.Message)
End Try
End If
Console.WriteLine("Press a key to end the application...")
Console.ReadLine()
End
End Sub
End Module В Visual C#using System;
using System.Collections.Generic;
using System.Text;
using System.ServiceProcess;
namespace ConsoleApplication1
{
class Program
{
static void Main()
{
string myServiceName = "MSSQL$SQLEXPRESS"; //service name of SQL Server Express
string status; //service status (For example, Running or Stopped)
Console.WriteLine("Service: " + myServiceName);
//display service status: For example, Running, Stopped, or Paused
ServiceController mySC = new ServiceController(myServiceName);
try
{
status = mySC.Status.ToString();
}
catch (Exception ex)
{
Console.WriteLine("Service not found. It is probably not installed. [exception=" + ex.Message + "]");
Console.ReadLine();
return;
}
//display service status: For example, Running, Stopped, or Paused
Console.WriteLine("Service status : " + status);
//if service is Stopped or StopPending, you can run it with the following code.
if (mySC.Status.Equals(ServiceControllerStatus.Stopped) | mySC.Status.Equals(ServiceControllerStatus.StopPending))
{
try
{
Console.WriteLine("Starting the service...");
mySC.Start();
mySC.WaitForStatus(ServiceControllerStatus.Running);
Console.WriteLine("The service is now " + mySC.Status.ToString());
}
catch (Exception ex)
{
Console.WriteLine("Error in starting the service: " + ex.Message);
}
}
Console.WriteLine("Press a key to end the application...");
Console.ReadLine();
return;
}
}
} - Нажмите клавиши CTRL + F5 для запуска программы.
Для получения дополнительных сведений о пространстве имен "System.ServiceProcess" посетите следующий веб-узел Microsoft Developer Network (MSDN):
Для получения дополнительных сведений о Visual Studio .NET посетите следующие группы новостей MSDN Usenet:
Код статьи: 912426 - Последнее изменение :: 27 ноября 2010 г. - Редакция: 2.0
Информация в данной статье относится к следующим продуктам.
- Microsoft Visual Studio 2005 Standard Edition
- Microsoft Visual Studio 2005 Professional Edition
- Microsoft SQL Server 2005 Express Edition
| kbprb kbhowto kbmt KB912426 KbMtru |
Переведено с помощью машинного переводаВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:
912426
(http://support.microsoft.com/kb/912426/en-us/
)