Oracle
 sql >> Base de données >  >> RDS >> Oracle

ORA-01002 :récupération hors séquence

J'ai eu ce problème aussi. Mon application fonctionnait correctement sur une machine, et exactement le même exécutable sur une autre machine recevait cette exception d'extraction hors séquence.

Ma requête est importante et prend quelques minutes à s'exécuter. Il est géré par un COM+. J'ai réalisé que mes deux environnements avaient une configuration de services de composants légèrement différente. L'environnement défaillant avait un délai d'attente de transaction défini sur 60 secondes, l'autre était défini sur beaucoup plus.

Pour résoudre ce problème, je devais simplement accéder aux services de composants, cliquer avec le bouton droit sur Poste de travail, Propriétés, Options et augmenter le délai d'expiration de la transaction.

Cela a du sens maintenant car l'exception d'extraction hors séquence se produit lorsque vous essayez d'accéder à un curseur fermé. Je comprends que le délai d'attente COM+ a fermé la transaction, donc le curseur, et a levé cette exception Oracle.