🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.delphi.bazy-danych
4 messages
4 total messages Started by Sławek Mon, 08 Jul 2019 16:34
Firebird embedded -jak skutecznie zlikwidować połączenie
#82982
Author: Sławek
Date: Mon, 08 Jul 2019 16:34
33 lines
2619 bytes
Szanowni Grupowicze,
mam aplikację desktop Delphi2010 wykorzystującą bazę danych Firebird 3.0.
Chcę wykonywać tymczasowe kopie bezpieczeństwa. Jeżeli korzystam z 
zainstalowanego serwera to wszystko działa. Problem jest z wersją 
embedded. Ponieważ w takim układzie może być aktywne tylko jedno 
połączenie to przed wywołaniem procedury Backup zamykam bazę a później 
ponownie ją otwieram. Niestety Wygląda na to, że połączenie jest aktywne 
jeszcze 60 sekund po zamknięciu bazy. Tak samo jest z połączeniem po 
wywołaniu IBBackupService. W skrócie to wygląda tak:

IBDatabase1.Connected := True;
...
praca z programem
...
IBDatabase1.Connected := False;
IBBackupService1 - wykonuję backup i na koniec IBBackupService1.Free
IBDatabase1.Connected := True;
..po 60 sekundach otrzymuję komunikat "Connection shutdown" i praca z 
programem nie jest możliwa.

Sprawdziłem, że jeżeli zostawię 60-sekundowe odstępy:
pierwszy - po IBDatabase1.Connected := False;
drugi	- po IBBackupService1 wykonuję backup
to problemu nie ma.
Czy jest jakiś sposób, żeby połączenia zamykać szybciej?
Próbowałem z TIBConfigService wykonać ... ShutdownDatabase(Forced,0);
- bez rezultatu.
Zmuszenie użytkownika, żeby 2 minuty sobie poczekał nie wydaje mi się 
dobrym rozwiązaniem. ;-)

-- 
Pozdrawiam i z góry dziękuję za wszelką pomoc,
Sławek
Re: Firebird embedded -jak skutecznie zlikwidować połączenie
#82983
Author: Roman Tyczka
Date: Mon, 08 Jul 2019 19:41
45 lines
2703 bytes
On Mon, 8 Jul 2019 18:34:29 +0200, Sławek wrote:

> Szanowni Grupowicze,
> mam aplikację desktop Delphi2010 wykorzystującą bazę danych Firebird 3.0.
> Chcę wykonywać tymczasowe kopie bezpieczeństwa. Jeżeli korzystam z 
> zainstalowanego serwera to wszystko działa. Problem jest z wersją 
> embedded. Ponieważ w takim układzie może być aktywne tylko jedno 
> połączenie to przed wywołaniem procedury Backup zamykam bazę a później 
> ponownie ją otwieram. Niestety Wygląda na to, że połączenie jest aktywne 
> jeszcze 60 sekund po zamknięciu bazy. Tak samo jest z połączeniem po 
> wywołaniu IBBackupService. W skrócie to wygląda tak:
> 
> IBDatabase1.Connected := True;
> ...
> praca z programem
> ...
> IBDatabase1.Connected := False;
> IBBackupService1 - wykonuję backup i na koniec IBBackupService1.Free
> IBDatabase1.Connected := True;
> ..po 60 sekundach otrzymuję komunikat "Connection shutdown" i praca z 
> programem nie jest możliwa.
> 
> Sprawdziłem, że jeżeli zostawię 60-sekundowe odstępy:
> pierwszy - po IBDatabase1.Connected := False;
> drugi	- po IBBackupService1 wykonuję backup
> to problemu nie ma.
> Czy jest jakiś sposób, żeby połączenia zamykać szybciej?
> Próbowałem z TIBConfigService wykonać ... ShutdownDatabase(Forced,0);
> - bez rezultatu.
> Zmuszenie użytkownika, żeby 2 minuty sobie poczekał nie wydaje mi się 
> dobrym rozwiązaniem. ;-)

Czy masz najnowszy serwer, wersję 3.0.4?
Bo były jakieś błędy z blokadą połączenia na 60 sec:

http://tracker.firebirdsql.org/browse/CORE-5815

Tutaj też coś niefajnego, prawdopodobnie inny problem niż Twój, ale jest te
60 sekund podejrzane:

http://tracker.firebirdsql.org/browse/CORE-5911

-- 
pozdrawiam
Roman Tyczka
Re: Firebird embedded -jak skutecznie zlikwidować połączenie
#82984
Author: Sławek
Date: Tue, 09 Jul 2019 08:14
18 lines
1939 bytes
W dniu 08-07-2019 o 21:41, Roman Tyczka pisze:
 > On Mon, 8 Jul 2019 18:34:29 +0200, Sławek wrote:

 >
 > Czy masz najnowszy serwer, wersję 3.0.4?
 > Bo były jakieś błędy z blokadą połączenia na 60 sec:
 >
 > http://tracker.firebirdsql.org/browse/CORE-5815
 >
 > Tutaj też coś niefajnego, prawdopodobnie inny problem niż Twój, ale 
jest te
 > 60 sekund podejrzane:
 >
 > http://tracker.firebirdsql.org/browse/CORE-5911
 >

- dziękuję, tak, widziałem te strony. Mam najnowszy serwer, nie stosuję 
szyfrowania, spróbuję jeszcze  4.0 Beta 1.
Re: Firebird embedded -jak skutecznie zlikwidować połączenie
#82985
Author: Sławek
Date: Tue, 09 Jul 2019 10:03
32 lines
2106 bytes
W dniu 09-07-2019 o 10:14, Sławek pisze:
> W dniu 08-07-2019 o 21:41, Roman Tyczka pisze:
>  > On Mon, 8 Jul 2019 18:34:29 +0200, Sławek wrote:
> 
>  >
>  > Czy masz najnowszy serwer, wersję 3.0.4?
>  > Bo były jakieś błędy z blokadą połączenia na 60 sec:
>  >
>  > http://tracker.firebirdsql.org/browse/CORE-5815
>  >
>  > Tutaj też coś niefajnego, prawdopodobnie inny problem niż Twój, ale 
> jest te
>  > 60 sekund podejrzane:
>  >
>  > http://tracker.firebirdsql.org/browse/CORE-5911
>  >
> 
> - dziękuję, tak, widziałem te strony. Mam najnowszy serwer, nie stosuję 
> szyfrowania, spróbuję jeszcze  4.0 Beta 1.

- no więc dałem się zwieść informacji:
Fix Version/s: 	3.0.4, 4.0 Beta 1

a to nie do końca prawda.
W 4.0 Beta 1 problem nie występuje.
Jeszcze raz dziękuję za podpowiedź, to był dodatkowy impuls, żeby 
przetestować FB4. (miałem już pobrane :)
Teraz wątek przenoszę do http://tracker.firebirdsql.org/

-- 
Pozdrawiam,
Sławek
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads