BatchLongTran (CM)

De Wiki1000
Révision datée du 9 avril 2013 à 06:38 par Syfre (discussion | contributions) (Remplacement du texte — « {tahoe} » par « {Version650} »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

<source lang='delphi'>procedure BatchLongTran;</source>

Cette procédure valide et transmet les objets en transaction au serveur SQL si le nombre d'objet est supérieur ou égale à BatchSize de la transaction.

Pas de paramètre

{{#images:version650-32x32.png|stock}} Les remarques suivantes s'appliquent dans un contexte d'exécution parallèle :

  • BatchLongTran ne peut pas être appelé à partir de code parallélisé, l'appel est ignoré.
  • BatchLongTran est un point de synchronisation pour le code parallélisé, l'appel de BatchLongTran :
  • Stop le démarrage de nouvelle exécution parallèle
  • Attend que toutes les exécutions parallèles en cours soient terminées
  • Exécute le batch
  • Redémarre l'exécution du code parallélisé.


Exemple :

<source lang='delphi'> var idx:Integer; begin

 ClassManager.BeginLonTran(100,'MaClass');
 try
   for idx:=0 to VeryBigInt do
    begin
      doProcessItem(idx);
      ClassManager.BatchLongTran;
      // same as :
      // if idx mod 100=0 then ClassManager.BatchLongTran;
    end;
   ClassManager.CommitLongTran;
 except
   ClassManager.RollBackLongTran;
   raise;
 end; 

end; </source>

Voir aussi :

{{#if:Gestion des transactions (CM)|

{{#if:Gestion des transactions (CM)|— Gestion des transactions (CM) |}} — Développement DSM

|

{{#if:|— [[{{{1}}}]] |}} — Développement DSM

}}