Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.023 c
1-1097416963
Алексей
2004-10-10 18:02
2004.10.24
Поворот матрицы.


1-1097356024
Zvrb
2004-10-10 01:07
2004.10.24
Как перевести код C++ в Delphi ?


1-1097000507
RedDragon
2004-10-05 22:21
2004.10.24
как мне сохранить переменные, не используя базы данных...


8-1091184838
a-n-d-r-e-y
2004-07-30 14:53
2004.10.24
Как вывести картинку на экран другого компьютера


3-1096013574
Aser
2004-09-24 12:12
2004.10.24
Получение конкретного поля из запроса




   Наверх