У меня очень простая инструкция INSERT, выполняемая из PHP-скрипта, запущенного на веб-сервере Linux Apache. Я могу выполнить запрос отлично из SQL Management Studio, и он нормально работает и с PHP. Тем не менее, каждый раз через некоторое время я получаю сообщение об ошибке с моего скрипта PHP, что запрос завершился неудачно, и функция mssql_get_last_message() возвращает «Оператор завершен».Что заставляет SQL Server возвращать сообщение «Заявление завершено»?
Какие источники могут привести к возврату этого сообщения с SQL Server?
Так что, например, если я обнаружил, что сообщение «Сообщение было прервано», я могу отправить запрос, который вы предоставили, чтобы получить код ошибки? –
Nevermind, ваше решение в теории звучит хорошо. Тем не менее, переменная @@ ERROR будет перезаписана, если другой запрос попадет в базу данных, прежде чем у вас появится возможность запросить его. На занятом сервере это очень вероятно. –
Проблема, с которой вы сталкиваетесь, - это известная проблема с драйвером mssql. Посмотрите http://php.net/manual/en/function.mssql-get-last-message.php, особенно комментарии внизу.Люди долгое время боролись с этой проблемой. – Gary