2010-06-29 4 views
1

Salut les gars, je veux ping une URL sur http à partir d'une procédure stockée SQL Server 2008.comment faire un ping d'une URL à partir du serveur SQL 2008 stocké proc

Quelle est la meilleure et la plus simple façon de procéder? MISE À JOUR: Pour le rendre plus clair, je veux juste appeler une page aspx à partir d'une procédure stockée pour notifier ma page aspx que les données ont été modifiées et que aspx a besoin d'actualiser le cache. Je sais que je peux le faire via la dépendance du cache sql mais je veux utiliser un push plutôt qu'une sorte de notification.

Répondre

4

Vous pouvez écrire une fonction CLR qui accepte une chaîne d'adresse hôte/IP et renvoie le nombre de secondes qu'il a fallu pour envoyer une requête ping, ou -1 s'il n'a pas réussi à envoyer une requête ping.

+0

ressemble à ceci est le meilleur pari :-) thnx - +1 – Raj

+0

Assurez-vous d'accepter également la réponse si elle résout votre problème –

2

Si vous avez xp_cmdshell activé, vous pouvez utiliser:

EXEC sys.xp_cmdshell 'PING 127.0.0.1' 

Assurez-vous que vous comprenez les implications de sécurité permettant xp_cmdshell bien. Il est désactivé par défaut pour une raison.

+0

les paramètres de sécurité ne permettent pas cela malheureusement :-(de toute façon +1 ... d'une autre manière? – Raj

+1

Le CLR est probablement votre meilleur pari –

+0

Ceci est la réponse la plus directe si vous avez accès à xp_cmdshell. – Barry

0

La dépendance du cache SQL estuse a push notification via SQL Service Broker. Vous avez juste besoin de configurer votre application à subscribe to notifications. Ce serait certainement mon premier choix.

Si pour une raison quelconque cela ne convient pas, peut-être que this approach utilisant Object Automation fonctionnerait pour vous? Modifier En fait je lisais juste les commentaires sous l'article et l'auteur original suggère de ne pas utiliser cela dans SQL2005 mais en utilisant CLR à la place s'il est nécessaire de demander une URL.

Questions connexes