|
Исходники
Статьи
Языки программирования
.NET Delphi Visual C++ Borland C++ Builder C/С++ и C# Базы Данных MySQL MSSQL Oracle PostgreSQL Interbase VisualFoxPro Веб-Мастеру PHP HTML Perl Java JavaScript Протоколы AJAX Технология Ajax Освоение Ajax Сети Беспроводные сети Локальные сети Сети хранения данных TCP/IP xDSL ATM Операционные системы Windows Linux Wap Книги и учебники
Скрипты
Магазин программиста
|
Динамический запуск сервера 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);
}
|
Форум Программиста
Новости
Обзоры
Магазин Программиста
Каталог ссылок
Поиск
Добавить файл
Обратная связь |