AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Deadlock

Ein Thema von olaf · begonnen am 22. Dez 2011 · letzter Beitrag vom 22. Dez 2011
 
olaf

Registriert seit: 4. Mai 2009
Ort: Iserlohn
82 Beiträge
 
RAD-Studio 2009 Pro
 
#1

Deadlock

  Alt 22. Dez 2011, 08:44
Datenbank: Firebird • Version: 2.5 • Zugriff über: IBDAC
Hallo,
ich bekomme bei einem gleichzeitigen Zugriff im Netzwerk immer einen Deadlock. Warum werden die Transactionen nicht hintereinander abgearbeitet ober wie kann ich den Ablauf der Transactionen steuern. Ich habe auch schon, wie in der Hilfe von IBDAC beschrieben, vor dem Starten der Transaction den Zustand abgefragt und dann ein commit oder rollback ausgeführt; wie:

Delphi-Quellcode:
If tra=active then
Tra.commit;
Isolationlevel snapshot brachte auch keinen Erfolg.

Muß ich einen anderen Isolatinlevel wählen. Wie behandelt Ihr gleichzeitige Zugriffe. Irgendetwas muß ich grundsätzlich falsch machen. Es liegt bestimmt nicht an Firebird.



Wäre für eure Hilfe sehr dankbar.
Olaf

Die stored procedure rufe ich so auf:

Delphi-Quellcode:
procedure TNetzwerk.setvorname;
var
 spex: TIBCStoredProc;
 tra: TIBCTransaction;
begin
 try
 tra:=TIBCTransaction.Create(dm);
 tra.DefaultConnection:=dm.ConMtermin;
 tra.DefaultCloseAction:=taRollback;
 tra.IsolationLevel:=iblReadCommitted;

 spex:=TIBCStoredProc.Create(dm);
 spex.Transaction:=tra;
 spex.Connection:=dm.ConMtermin;
 tra.StartTransaction;
  spex.StoredProcName:='INS_UPD_VORNAMEBUCHEN';
  spex.Prepare;
  spex.ParamByName('NA').value:=trim(buchenFR.AdvEdit2.Text);
  spex.ParamByName('GES').value:=buchenFR.dialoggeschlecht;
  spex.Execute;
 tra.Commit;
 finally
 spex.UnPrepare;
 spex.Free;
 tra.free;
 end;
end;


Die SP:

DECLARE ANZ INTEGER;
BEGIN
BEGIN

SELECT COUNT(NAME) as ANZAHL
FROM VORNAME
WHERE NAME = :NA
INTO :ANZ;

IF (ANZ=0) THEN
BEGIN
INSERT INTO VORNAME(NAME, GESCHLECHT)
VALUES( :NA, :GES);
END
ELSE
BEGIN
UPDATE VORNAME SET
GESCHLECHT = :GES
WHERE VORNAME.NAME = :NA;
END

END
END
  Mit Zitat antworten Zitat
 

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz