Attendre connexion avant exécution requête.

[Résolu/Fermé]
Signaler
Messages postés
422
Date d'inscription
vendredi 14 septembre 2007
Statut
Membre
Dernière intervention
30 novembre 2017
-
Messages postés
422
Date d'inscription
vendredi 14 septembre 2007
Statut
Membre
Dernière intervention
30 novembre 2017
-
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 ...

2 réponses

Messages postés
3671
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
995
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
Messages postés
422
Date d'inscription
vendredi 14 septembre 2007
Statut
Membre
Dernière intervention
30 novembre 2017
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