Текущий архив: 2004.10.24;
Скачать: CL | DM;
ВнизFirebird 1.5.0 Найти похожие ветки
← →
Amid (2004-09-25 11:47) [0]Как отсоеденить все юзеры каторые соедены к базе ?.
Есть база c:\q.gdb, к ней соедены и работают 3 юзеры, как програмным путем отсоеденить все юзеры штоб я мог удалить эту базу ?
← →
DrPass © (2004-09-25 11:56) [1]сделай shutdown (естественно, не компьютеру :-)
← →
-SeM- (2004-09-25 11:58) [2]С помошью чего?
IBExpert - Services->Database Shutdown
FibPlus - ConfigService.ShutdownDatabase
IB API - см. isc_spb_prp_shutdown_db
> отсоеденить все юзеры штоб я мог удалить эту базу
А юзерям что потом делать?
← →
Amid (2004-09-25 12:04) [3]Но как это зделать ?, подскажите !!!!
← →
Amid (2004-09-25 12:05) [4]юзеры ждут :)
← →
Amid (2004-09-25 12:38) [5]Пробовал FibPlus - ConfigService.ShutdownDatabase но не идетб не могу удолить базу, (ошибку дает, занята база)
Procedure TForm1.Button2Click(Sender: TObject);
Begin
with pFIBConfigService1 do
begin
LoginPrompt := False;
Params.Add("user_name=SYSDBA");
Params.Add("password=masterkey");
DatabaseName := "D:\BTelefon\BaseFinal.gdb";
Active := True;
try
if RadioButton1.Checked then
ShutdownDatabase(Forced, 0);
if RadioButton2.Checked then
ShutdownDatabase(DenyTransaction,0);
if RadioButton3.Checked then
ShutdownDatabase(DenyAttachment,0);
finally
Active := False;
end;
end;
End;
← →
-SeM- (2004-09-25 12:50) [6]Как ты ее удаляешь?
← →
Amid (2004-09-25 12:56) [7]После выполнение этой програмы, пытаюсь удалить мануально, и не удаляется Cannot delete BASEFINAL: It is being used ....
← →
-SeM- (2004-09-25 13:12) [8]А не пробывал FIBDatabase.DropDatabase?
← →
Amid (2004-09-25 13:43) [9]пробывал FIBDatabase.DropDatabase, но тоже не идет.
Делал ShutdownDatabase потом DropDatabase, ошибка DATABASE in used
← →
-SeM- (2004-09-25 13:55) [10]Только проверил. Отключение от базы для клиентов при Forced действительно происходит. А вот коннект остается до тех пор, пока работает клиент. Т.о. если есть возможность изменить клиента и не используется в других целях - сделай обработку FIBDatabase.OnLostConnect на закрытие клиента.
Как вариант - DenyAttachment с большим значением Wait, после которого (в случае успеха) DropDatabase.
← →
xmrz (2004-09-25 14:05) [11]gfix -shut -force 0 c:\q.gdb -user sysdba -password masterkey
Можешь выполнить это через CreateProcess...
← →
Amid (2004-09-25 14:28) [12]Да, это я делаю, но опять я не могу удалить базу, значит коннекты остаются, но как зделать дисконнект этих коннектов если это можно ?
← →
kaif © (2004-09-26 04:09) [13]А может быть остается коннект того клинета, который шатдаун делал? Есть еще один вариант: создай EVENT с громким именем CLOSE_CLIENTS_FORCED, на клиентах лови этот EVENT с помощью какого-нибудь хорошего компонента, ловящего ивенты и как только разослано это событие - пусть клиенты сами дисконнектятся. А потомделай шатдаун (чтобы больше не пытались законнектиться), отконнечивайся сам и убивай файл базы (я бы его предварительно забекапил на всякий пожарный все же...).
Страницы: 1 вся ветка
Текущий архив: 2004.10.24;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.033 c