PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Accès mysql infomaniak
Accès mysql infomaniak
Iniciado por jcl17, 26,may. 2019 08:29 - 9 respuestas
Miembro registrado
226 mensajes
Publicado el 26,mayo 2019 - 08:29
Bonjour,

j'ai un site chez infomaniak avec une base mysql clous managé et j'ai donné un accès à cette base via une application windev 24, jusque là pas de problème j'accède bien aux fichiers de la base.

par contre j'ai une perte de connexion à cette base si l'application attend sans accès plus de 30s et réessaye une un accès après ce délai, voici le message :

Erreur à la ligne 13 du traitement Initialisation de Mon_Projet.
Vous avez appelé la fonction HLitRecherchePremier.
Erreur de l'accès natif MySQL.
Numéro d'erreur = 22

L'erreur suivante a été renvoyée par la base de données <st0qn.myd.infomaniak.com> :
Numéro d'erreur = <2013>.
Message d'erreur :
Lost connection to MySQL server during query


pour fonctionner j'ai créé un trhead qui accède à un fichier (hlitpremier) toutes les 20s, cela fonctionne mais ce n'est pas satisfaisant, je pense que c'est un paramètre sql à mettre en place mais après plusieurs tests je n'arrive pas à régler ce problème.

merci pour votre aide
Jean-Claude
Miembro registrado
4.361 mensajes
Publicado el 26,mayo 2019 - 11:36
Bonjour,
L'erreur 2013 est une erreur de time out. Ton HlitPremier trouve-t-il quelque chose ?
Si ce n'est pas le cas, as tu bien copié le libmysql.dll au bon endroit ? https://doc.pcsoft.fr/fr-FR/?5517001

--
Il y a peut être plus simple, mais, ça tourne
Miembro registrado
226 mensajes
Publicado el 27,mayo 2019 - 08:45
bonjour,

merci de ta réponse, oui j'ai bien mis libmysql.dll dans le répertoire exe, le premier hlitpremier fonctionne tant que je l'exécute dans un intervalle de 30s si je dépasse ce délai j'ai l'erreur 2013
Publicado el 27,mayo 2019 - 11:40
J'ai eu la même problématique avec Infomaniak.

Le pb vient du fait que l'on ne peut pas modifier la valeur du timeout, il faut donc gérer la reconnexion coté code (pour ma part j'ai utilise un retry pattern à partir d'un exemple de la LST).
ça fonctionne plutôt bien, mais j'ai finalement opté pour les solutions Amazon qui offrent bien plus de souplesse pour bien moins cher (aussi parce qu’il nous fallait un MySQL v8)
Miembro registrado
226 mensajes
Publicado el 27,mayo 2019 - 12:31
merci pour ta réponse, pourrais-tu m'indiquer le n° de la LST pour le retry pattern ?
Publicado el 27,mayo 2019 - 12:56
LST 108
Miembro registrado
226 mensajes
Publicado el 27,mayo 2019 - 17:37
merci, j'ai exécuté l'exemple qui fonctionne mais s'arrête au 1er essai avec un résultat ok sur 3 essais demandés ??? as-tu eu ce problème ?
Publicado el 20,noviembre 2019 - 16:48
Personnellement j'ai dû procéder de la même manière que JCL17 pour contourner ce soucis en mettant en place une procédure d'accès à un fichier vide qui est appelée toutes les 2'55 (juste avant les 3 mins de déconnexion).
Par contre j'aurai voulu en savoir un peu plus sur les solutions Amazon auxquelles tu fais référence en terme de coût par rapport à une solution mutualisée
Publicado el 22,noviembre 2019 - 09:58
Concernant Amazon, toutes les informations utiles sont ici:
https://aws.amazon.com/fr/rds/

On ne l'a utilisé que pour la phase de dev et tests (en prod, les cliniques prennent en charge le hosting des leurs bases)
On avait donc pris la solution micro (gratuit la première année).
Depuis on a notre propre serveur MySQL pour nos besoins internes et pour les démos.

Pour le retrypattern, il faut s'inspirer de l'exemple de la LST
En 2 mots, j'ai une classe unique d'accès aux données. En cas d'erreur détectée j'ai une autre classe de reconnexion à la base qui s’exécutera n fois. Si pas de connexion possible à l'issue des n fois, je déclenche une erreur programme.
Miembro registrado
2 mensajes
Publicado el 28,noviembre 2019 - 22:05
Bonsoir mon cher

Pourrais tu m'aider. Jai lu ton post et jai cru comprendre que u as reussi a contacter ta base de donnee mysql via ton application windev, chose que je ne reussis pas pour le moment. jai developpé une application windev installé sur poste client, qui narrive pas a communiquer avec la base de donnees. je definis les parametres de connexions(serveur, base de donnee,le type d'acces natif utilisé, etc.) lors de linstallation de l'apllication sur poste client.

Merci d'avance pour laide.