« BatchLongTran (CM) » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 1 : | Ligne 1 : | ||
<source lang='delphi'>procedure BatchLongTran;</source> | <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. | Cette procédure valide et transmet les objets en transaction au serveur SQL <u>si le nombre d'objet est supérieur ou égale à BatchSize</u> de la transaction. | ||
{|class="wikitable" | {|class="wikitable" |
Version du 15 mars 2013 à 14:02
<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:versionTahoe-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); 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 —
}}