-
Tuer une requete
Bonjour,
J'aimerai stopper l'execution d'une requete si celle-ci est trop longue.
Attention le fait d'arreter l'explorateur internet (Firefox ou IE) n'arrete pas l'execution de la requete puisque cette dernière continue jusqu'au bout.
j'avais pensé forcer une fermeture de connection (odbc_close) mais d'après php.net celle-ci ne se ferme pas si il y a encore de l'activité.
merci pour vos conseils.
Nico
-
L'execution d'une requete en PHP est une opération bloquante... Il n'est donc théoriquement pas possible d'emmetre de nouvelles instructions tant que ta requetes n'a pas retourner de resultat, ce qui veut dire - sauf erreur de ma part - qu'il n'y a pas de solution à ton problème en terme de programmation.
En revanche, sur la pluspart les SGBD, il est possible de spécifier dans le fichier .ini le temps maximum alloué à l'éxécution d'une requete. Peut-être est-ce par là qu'il faut chercher...
-
Malheureusement non,le temps d'execution doit être illimité.
Il s'agit bien d'une action d'un utilisateur.
Je pensais qu'on pouvait tuer via une autre connection à la BD la première connection.
Ex: la connection 1 exécute la requete pendant ce temps on a une 2eme connection qui possède l'identifiant de la première et qui la tue sur une demande de l'utilisateur.
Merci pour ces premiers éléments de réponse
-
Le problème reste le même, même si ce que tu proposes pourrais être une idée... mais :
- le fait de se connecter à une BDD ne doit pas tuer les connexions existantes (sinon, une seule personne pourrait naviguer sur un site dynamique à la fois)
- même si ça pouvait marcher, tu serais toujours bloqué durant l'exécution de ton code sur ton 1er query... Si l'execution du code est bloqué, impossible de lancer un autre connect avant le retour du query... Sinon, il faut lancer 2 scripts...
-
Les droits ne sont pas un problème puisque cela reste une utilisation d'administrateur sur mon intranet.
En effet je pensais bien à un deuxième script lancé en parallèle du premier.
je reste surtout bloqué par la fonction à utiliser : quelle est cette fonction qui va tuer une connection?
sinon est ce que quelqu'un connait une alternative en java au lieu du php?