J'ai une instruction INSERT très simple exécutée à partir d'un script PHP exécuté sur un serveur web Linux Apache. Je peux exécuter la requête à partir de SQL Management Studio et ça marche aussi bien avec PHP. Cependant, de temps en temps, je reçois un message d'erreur de mon script PHP indiquant que la requête a échoué et que la fonction mssql_get_last_message() renvoie "L'instruction a été interrompue".Qu'est-ce qui fait que SQL Server renvoie le message 'L'instruction a été arrêtée'?
Quelles sources peuvent provoquer ce message à renvoyer à partir de SQL Server?
Donc, avec votre exemple, si je détecte mon message «L'instruction a été interrompue», je devrais être en mesure de soumettre la requête que vous avez fournie pour obtenir le code d'erreur? –
Nevermind, votre solution semble bonne en théorie. Cependant, la variable @@ ERROR sera écrasée si une autre requête frappe la base de données avant que vous ayez une chance de l'interroger. Sur un serveur occupé, c'est très probable. –
Le problème que vous rencontrez est un problème connu avec le pilote mssql apparemment. Regardez http://php.net/manual/en/function.mssql-get-last-message.php, en particulier les commentaires en bas.Les gens luttent avec ce problème depuis longtemps. – Gary