Bonjour à tous !

Je suis développeur Java et je rencontre des problèmes avec le système d'annulation de requête d'Oracle.
En effet, l'application que je développe peut lancer des requêtes longues (recherches de clients) et elles doivent pouvoir être annulées.

Dans le code Java, j'appelle la méthode cancel sur la classe Statement (depuis une autre thread) et le comportement est plutôt aléatoire. Sur la requête de recherche, la majorité du temps, le cancel ne fait rien du tout et la requête va à son terme.

J'ai alors essayé dans Toad pour voir si le problème pouvait être lié au code Java ou au driver JDBC fourni par Oracle.
Le même problème se pose aussi. La boîte de dialogue d'annulation tourne jusqu'à la fin de la requête.

La base est une Oracle 9i.

Connaissez-vous des limitations au mécanisme d'annulation ?
Y a-t-il du paramétrage à faire côté serveur ?
Faut-il revoir la requête afin qu'elle soit "cancel compliant" ?

J'ai fait pas mal de recherches sur le net et pour l'instant je n'ai vu aucune réponse à ces questions.

Merci pour votre aide !