Форум: "Базы";
Текущий архив: 2005.08.14;
Скачать: [xml.tar.bz2];
ВнизКак остановить InterBase Sever Найти похожие ветки
← →
ali_tash (2005-07-02 14:22) [0]Мне нужно остановить Interbase Server, для того чтобы записать новую версию дллки(UDF) - старую сервер использует и не даёт это сделать.
пытаюсь так
//Пытаемся скопировать новую версию UDF
WinExec("net stop "InterBase Guardian"",SW_HIDE);
WinExec("net stop "InterBase Server"",SW_HIDE);
Sleep(2000);
if not ExtractRes("dll","UDF",temp_path+"MY_UDF.dll") then
ShowMessage("ОШИБКА !"+#13+"Файл UDF MY_UDF.dll не извлечён");
if CopyFile(PChar(temp_path+"MY_UDF.dll"),
"C:\Program Files\Borland\InterBase\Udf\MY_UDF.dll",
False)=False then
begin
MessageDlg("Ошибка копирования файла MY_UDF.dll"
+#13+"в C:\Program Files\Borland\InterBase\Udf\"
+#13+"перезагрузите компьютер и запустите обновление снова"
+#13+":Temp каталог = "+temp_path, mtError, mbOKCancel,0);
Halt;
end;
WinExec("net start "InterBase Guardian"",SW_HIDE);
Sleep(2000);
И далее подключаюсь к серверу.
Но этот способ кажется мне не недёжен т.к.
Я не знаю остановлен ли сервер и запущен ли потом.
Как можно узнать что процесс запущен или остановлен
и правильно ли я остановливаю InterBase ?
← →
DSKalugin © (2005-07-02 15:37) [1]запиши все эти операции во внешний скрипт
*.cmd *.bat *.jc *.sh ... и т.д. по вкусу
и тогда все операции в программе будут сводиться к следующему
1 - отключение от базы
2 - WinExec("ReaplaceUDF.cmd",SW_Normal);
3 - подключение к базе
← →
kaif © (2005-07-04 06:00) [2]Может быть не надо останавливать сервер? Может быть достаточно будет сделать Database Shutdown, чтобы вышибить всех пользователей? Если нет соединений, то udf можно будет спокойно удалить. Это так, в качестве идеи...
← →
WondeRu © (2005-07-04 10:34) [3]kaif © (04.07.05 6:00) [2]
Это так, в качестве идеи...
у меня не прокатывало такое...
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.08.14;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.01 c