Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

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

InfoCity

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

#include "wn95scm.h" //находится на Sql7.0 CD
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;
               default:// Если состояние 0, то возникла ошибка при определении
                       // состояния сервиса.
                    if (dwServiceState == 0)
                    {    // Error. Return failure.
                         sprintf(szErrorMsg, "Error %lu on attempt to determine
service 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);
}

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог