Динамический запуск сервера MS SQL

Динамический запуск сервера MS SQL

Программирование » C/C++ » Динамический запуск сервера MS SQL
Следующий пример показывает, как на C++ динамически запускать MS SQL Server в Windows NT. Всё, что для этого потребуется, это включить в проект w95scm.lib, которая поставляется с SQL 7.0 CD.

// находится на Sql7.0 CD

#include "wn95scm.h"

BOOL StartSqlServer(LPSTR szErrorMsg) {

LPSTR szService = "MSSQLServer";

DWORD dwServiceState, dwErr;

BOOL bControlSuccessful;

// состояние сервиса.

bControlSuccessful = TRUE;

dwServiceState = SQLSCMGetLocalServiceState(szService, &dwErr);

while ((dwServiceState != 0) && (bControlSuccessful == TRUE)) {

if (dwServiceState == SERVICE_RUNNING)

break;

switch (dwServiceState) {

// если в режиме паузы, то даём команду продолжить работу.

case SERVICE_PAUSED:

bControlSuccessful=SQLSCMLocalServiceControl(szService,

SQLSCMCmd_CONTINUE,

&dwErr, 0, NULL);

break;

// Если остановлен, то запускаем сервис

case SERVICE_STOPPED:

bControlSuccessful=SQLSCMLocalServiceControl(szService,

SQLSCMCmd_START,

&dwErr, 0, NULL);

break;

// Если состояние 0, то возникла ошибка при определении

// состояния сервиса.

default:

// Error. Return failure.

if (dwServiceState == 0) {

sprintf(szErrorMsg, "Error %lu on attempt to

determineservice state.", dwErr);

return (FALSE);

}

}

Sleep(5);

dwServiceState = SQLSCMGetLocalServiceState(szService, &dwErr);

}

if (bControlSuccessful) {

sprintf(szErrorMsg, "Error %lu returned on attempt to

change service state.", dwErr);

}

return (bControlSuccessful ? TRUE : FALSE);

}




www.исходники.ru http://www.sources.ru/

Отзывы (через аккаунты в социальных сетях Вконтакте, Facebook или Google+):

Оставить отзыв с помощью аккаунта ВКонтакте:

Оставить отзыв с помощью аккаунта FaceBook:

Оставить отзыв с помощью аккаунта Google+: