Forum Delphi.cz

Delphi => FireDAC => Téma založeno: Stanislav Hruška 03-06-2020, 17:42:09

Název: Nastavenie parametra - chyba expecting explicit transaction start
Přispěvatel: Stanislav Hruška 03-06-2020, 17:42:09

To Delphi mi nedopraje pokojnú mladosť.
Kód: [Vybrat]
  FQryGroupRightsIns.ParamByName('IDUSERGROUPS_USERRIGHTS').AsInteger := NewPrimaryKey;
Citace
Project JasotSVB.exe raised exception class EIBNativeException with message '[FireDAC][Phys][FB]invalid transaction handle (expecting explicit transaction start)'.
Lenže pri požadovanej akcii nemusí byť aktívna transakcia. Aj keď použijem StartTransaction, tak sa nič nezmení.
Reštartoval som PC aj znovu vytvoril transakciu. Nepomohlo.
Název: Re:Nastavenie parametra - chyba expecting explicit transaction start
Přispěvatel: Stanislav Hruška 03-06-2020, 18:00:41
Klasika, problém objavím po odoslaní príspevku. Chyba bola vo funkcii NewPrimaryKey
Kód: [Vybrat]
function NewPrimaryKey: Integer;
begin
  dtmdBasic.conFOC.Transaction.StartTransaction;  //  Doplnené. Doteraz to fungovalo.
  try
    Result := dtmdBasic.conFOC.ExecSQLScalar('SELECT GEN_ID(COMMON_ID, 1) AS PK'+
    ' FROM RDB$DATABASE');
    Assert(Result > 0, '  PrimaryKey: PKey = 0  ');
  ...
end;
Název: Re:Nastavenie parametra - chyba expecting explicit transaction start
Přispěvatel: Stanislav Hruška 03-06-2020, 18:06:04
Upresňujem chybu, aby sa s tým druhý netrápili.
V minulosti som musel manipulovať s TFDConnection a nemalo definované Transaction. Teraz som mu najprv priradil zlú transakciu. Bez automatického spustenia sa. Preto som tam musel doplniť StartTransaction.