запуск сценария php из триггера mssql - PullRequest
2 голосов
/ 15 марта 2012

Как запустить команду php script (для запуска REST) ​​из триггера MSSQL?

Мне нужно, чтобы запустить команду REST из удаленного веб-сервиса сразу после входа пользователя в систему.

1 Ответ

3 голосов
/ 15 марта 2012

Вы уверены, что хотите сделать это на уровне базы данных?

Хотите, чтобы ваша транзакция БД ожидала (и удерживала блокировки), пока ваш REST-запрос возвращается?Что произойдет, если ваш веб-сервис работает медленно и время ожидания истекает через 1 минуту?

Это возможно , но опять же, используйте с осторожностью.

В SQL Server есть расширенная хранимая процедура под названием XP_CMDSHELL, которая позволит вам запускать сценарии в командной строке.http://msdn.microsoft.com/en-us/library/ms175046.aspx

По умолчанию он отключен, но вы можете включить его следующим образом:

EXEC sp_configure 'show advanced options', 1
GO
EXEC sp_configure'xp_cmdshell', 1  
GO

Затем в вашем триггере вы можете вызвать свой скрипт:

xp_cmdshell 'C:\path\to\php\php.exe -f C:\Path\to\your\script.php'

Если вы должны сделать это в базе данных, я настоятельно рекомендую просто перенести ваш php-скрипт на язык .net и выполнить его как хранимую процедуру CLR.Это было бы намного более безопасно и менее вероятно, вызвало бы проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...