Autor Téma: Problém se startem transakce  (Přečteno 431 krát)

Offline KarelHorky

  • Plnoletý
  • ***
  • Příspěvků: 173
  • Karma: 8
    • Verze Delphi: 7, XE6
Problém se startem transakce
« kdy: 15-05-2018, 11:42:51 »
Mám problém s otevřením transakce. Do logu se zapíše naposledy Transakci je nutno spustit, ale Transakce je nyní spuštěna se již nezapíše. Program jednoduše zatuhne, chyba nenastane, celou proceduru mám s blokem try-except. Někdy, po velmi dlouhé době (desítky minut) se celá procedura řádně dokončí. Níže je jen problémový kód.
Kód: Delphi [Vybrat]
  1.     LogMsg('Zjisti stav transakce');
  2.     if not dm.Tx1.InTransaction then
  3.     begin
  4.       LogMsg('Transakci je nutno spustit');
  5.       dm.Tx1.StartTransaction;
  6.       LogMsg('Transakce je nyní spuštěna');
  7.     end
  8.     else
  9.       LogMsg('Transakce již běží');
Problém samozřejmě nastává u jediného zákazníka. Navíc k chybě dojde tak v pěti případech z deseti pokusů, tzn. ne pokaždé. Databáze není nijak veliká, nemá ani 90 MB, záloha a obnova byla nedávno udělaná. Už nevím, po čem se podívat. Firebird používáme desítku let u tisíců zákazníků, ale toto vidím poprvé. Díky za jakýkoliv nápad.
Nad serverem nemám vládu, takže informace jsou skromné:
Windows Server 2008 R2
Firebird asi 2.5.x
Delphi DXE6 Prof
Komponenty IBExpress

Offline vandrovnik

  • Hrdina
  • ****
  • Příspěvků: 488
  • Karma: 36
    • Verze Delphi: 10.2
Re:Problém se startem transakce
« Odpověď #1 kdy: 15-05-2018, 12:19:45 »
Jen pro jistotu - nedojde k otevření té transakce během toho logování?

Offline KarelHorky

  • Plnoletý
  • ***
  • Příspěvků: 173
  • Karma: 8
    • Verze Delphi: 7, XE6
Re:Problém se startem transakce
« Odpověď #2 kdy: 15-05-2018, 12:34:37 »
Nemělo by, protože kdybych se pokoušel otevřít již otevřenou transakci, dojde k chybě. Ale žádná chyba nenastane. Jen to čeká nevím na co.
K.

Offline vandrovnik

  • Hrdina
  • ****
  • Příspěvků: 488
  • Karma: 36
    • Verze Delphi: 10.2
Re:Problém se startem transakce
« Odpověď #3 kdy: 15-05-2018, 12:36:55 »
Možná by stálo za pokus použít novější verzi gds32.dll.

Offline KarelHorky

  • Plnoletý
  • ***
  • Příspěvků: 173
  • Karma: 8
    • Verze Delphi: 7, XE6
Re:Problém se startem transakce
« Odpověď #4 kdy: 15-05-2018, 13:04:51 »
Noo, to nechám prověřit. Někde nějaká zapomenutá stará gds32.dll by mohla dělat potíže. Díky za tip!
K.

 

S rychlou odpovědí můžete používat BB kódy a emotikony jako v běžném okně pro odpověď, ale daleko rychleji.

Upozornění: do tohoto tématu bylo naposledy přispěno před 120 dny.
Zvažte prosím založení nového tématu.

Jméno: E-mail:
Ověření:
Datový typ v Delphi, který má True a False: