suivez mon regard j'ai vue que Jean a de très bonne connaissance en base de données.
je penses a ses programmes de transmissions qu'il a ecrit
Météo Villarzel et beaucoup d'autres se débrouillent plutôt bien ainsi qu'en PHP.
De mon coté PHP et Mysql je suis un ignare total.... Mais je lit les cours du Zéro.
une fois cette pommade passé, je me tourne vers vous et surtout vers Jean ( j'aurais bien fait un MP, mais peut être ma question va intéresser une personne).
-Je suis en train de me créer une petite routine afin d’envoyer des données Téléinformation et température vers une base Mysq.
- Pour mes essais j'ai pris DB4free, qui accepte les connections externes.
seulement je ne sait pas trop comment remonter ces informations.
Le net regorge de tuto et en piochant a gauche et a droite j'ai fait quelques lignes de codes de test.
bon ça marche depuis une semaine avec des routines de tests ecritent de façon très basique, mais je ne sait pas comment je pourrait récupérer les erreurs de connections ou rupture de transmission internet simplement?
Mes connaissances en Basic datent des années 80, et mon cerveau ne cesse de se ramollir depuis!
pour l'instant voila comment je fait:
-En local j'ai un programme qui collecte convenablement mes données.
-J'affectent ces données a des variables et je transmet en connexion externe vers DB4free.
- j'ai fait une simple routine d’erreur qui intercepte l'erreur si je n'ai pas de connexion.
- si j'ai un soucis de connections, alors je dirige mes données vers un fichier.
- quand je retrouve ma connexion je revoie mes données et entre deux j'envoie mon fichier ( celui qui a été créer pendant a perte de connections).
seulement c'est très lourd et tres consommateur de temps machine je pense que je suis informé de la perte de connexion par un tim out soit du plugin ODBC soit..... J'en sait rien
Question il y a t'il une requête que l'on peut envoyer afin de tester sa connexion qui me renverrais un MSG : conexion OK/nonOK ?
voila si vous connaissez l'astuce, merci
explication, attention c'est du code de test, voila comment je fait
1)- j'ai une fonction qui me convertie l'instant mon heure PC en heure Unix
Code : Tout sélectionner
Function UDate(oldDate)
UDate = DateDiff("s", "01/01/1970 00:00:00", oldDate)
End Function
Code : Tout sélectionner
'Ouvrir une connexion sur le serveur MySQL
Conn.Open "DRIVER={MySQL ODBC 5.1 Driver};SERVER=" & SERVEUR & ";DATABASE=" & DATABASE & ";UID=" & USER & ";PWD=" & PASSWORD & ";OPTION=3"
'Ouvrir un recordset sur la table 'tbteleinfo'
Rs.CursorLocation = adUseServer
Rs.Open "SELECT * FROM tbteleinfo", Conn, adOpenDynamic, adLockOptimistic
Code : Tout sélectionner
intCurrent_Unix_Time = UDate(Now())
ensuite j’insère mes donnée et je ferme la connexion
date_heure est prise au moment de l'envoie
pour le reste c'est pris dans mes variables que me fournit mon bout de code
Code : Tout sélectionner
Rs.AddNew
Rs("tpUnix") = intCurrent_Unix_Time
Rs("date_heure") = Now
Rs("La_Date") = Date
Rs("MOTDETAT") = Text_MOTDETAT
Rs("ADCO") = Text_ADCO
Rs("OPTARIF") = Text_OPTARIF
Rs("ISOUSC") = Text_ISOUSC
Rs("HCHC") = Text_HC
Rs("HCHP") = Text_HP
Rs("PTEC") = "HC" 'Text_PTEC
Rs("IINST") = Tex_IINST
Rs("IMAX") = Text_IMAX
Rs("PAPP") = Text_PAPP
Rs("WATT") = Text_kwh
Rs.Update
Rs.Requery
Rs.Close
Conn.Close
et comme je disait tout a l'heure si j'ai une erreur je sauvegarde mes données en local tant que ce code d'erreur est present
ensuite je repart comme ci rien n’était.
bref mon soucis c'est quand je fait un appel connexion, si elle n'arrive pas il se passe au moins trente secondes avant la réception du code d'erreur. ça me bloque mon programme ( même pour le reste la machine reste libre grâce a une instruction DoEvents)
c'est la que je pèche!
message d'erreur qui me permet de décider de démarrer ma procédure de stockage en local (tableau dynamique)
Code : Tout sélectionner
erreur Dans le Timer Exporte_vers_Mysql le/a : 17/12/2014 19:32:18 -2147467259 [MySQL][ODBC 5.1 Driver]Unknown MySQL server host 'db4free.net' (2)
pensez vous qu'il vaut mieux envoyer un fichier texte (contenant mes donnée) sur le serveur, après je m'en sert pour r remplir ma base
pensez vous qu'il soit préférable d’envoyer mes données a l'aide d'une URL. a la réception ISSET et GET pour remplir ma base
merci de vos avis