2012-03-15 22 views
2

MSSQLトリガー内からPHPスクリプト(RESTを実行する)を実行するにはどうすればよいですか?ユーザーがログインした直後 mssqlトリガーからPHPスクリプトを実行

は、私は、これは、リモートWebサービスからRESTコマンドを実行する必要があります。

答えて

3

あなたはデータベース層でこれをやってもよろしいですか?

RESTリクエストが戻ってきた間に、DBトランザクションを待機させてロックを保持しますか? Webサービスがゆっくりと実行され、1分後にタイムアウトするとどうなりますか?

可能です。ですが、再度注意して使用してください。

SQL Serverには、XP_CMDSHELLという拡張ストアドプロシージャがあり、コマンドラインでスクリプトを実行できます。 http://msdn.microsoft.com/en-us/library/ms175046.aspx

これは、デフォルトでは無効になっていますが、あなたはそうのようにそれを有効にすることができます:あなたはこの操作を行う必要がある場合

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

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

は、その後、あなたのトリガでは、スクリプトを呼び出すことができますデータベースでは、PHPスクリプトを.net言語に移植し、CLRストアドプロシージャとして実行することを強くお勧めします。それははるかに安全で、問題を引き起こす可能性は低いでしょう。

+0

回答ありがとうございます、これはDBの首を保持するでしょう、何をお勧めしますか? – AVEbrahimi

関連する問題