Attendre connexion avant exécution requête.

Résolu
alexmilano Messages postés 423 Date d'inscription   Statut Membre Dernière intervention   -  
alexmilano Messages postés 423 Date d'inscription   Statut Membre Dernière intervention   -
Bien le bonjour,

J'aimerais savoir, si on a un moyen de vérifier que la connexion à un serveur distant est disponible avant de lancer une requête.
Je vous explique pourquoi ce questionnement.

J'ai un serveur un Paris, l'autre à Marseille.

Sur le serveur de Paris, toutes les nuits, une procédure se lance pour récupérer des données à Marseille.
Sauf que la connexion internet à Marseille coupe de temps en temps, et donc le transfert ne se lance pas.

Donc, je voudrais savoir si au début de ma procédure, je peux mettre un test genre :

IF connexion 221.220.0.76 = FALSE
BEGIN
WAIT 5 MINUTES
END
ELSE
BEGIN

MA PROCEDURE

END


Ou avec un While ...



Merci d'avance !! :)



Si problème tu as, alors solution il y a ...
A voir également:

2 réponses

Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
Bonjour,

Tu te connectes en utilisant la fonctionnalité de "serveurs liés" ?
Si oui, essaie ceci :
https://docs.microsoft.com/en-us/archive/blogs/sqltips/test-linked-server-connection-settings

Bon, c'est pour une vieille version de SQL Server, mais ça vaut le coup de regarder.

Xavier
0
alexmilano Messages postés 423 Date d'inscription   Statut Membre Dernière intervention   27
 
Merci pour la réponse, au fait, j'ai trouvé une solution, avec le try catch !
L'idée, c'est de sélectionner une ligne sur le serveur lié. S'il y a une erreur, ça lance le waitfor, 10 minutes dans mon cas, puis ça retest après.

Donc ce que je voulais :)


START:
BEGIN TRY

SELECT TOP 1 Champ1 FROM [192.168.1.1].BDD.dbo.MaTable

END TRY
BEGIN CATCH
WAITFOR DELAY '00:10:00'
GOTO START
END CATCH


0