le 07-07-2017 09:52 AM
Bonjour à tous,
Mes sous-vi , récupèrent, traitent et enregistre les données de mesure dans une base de données SQL(monté en local).
1 - quand je lance mon programme, tout fonctionne très bien, rapide et sans bug.
2 - Dès que j'intègre mes fonctions d'enregistrement de données, le programme devient très lent et bug. (impossible de le manipuler jusqu'à la fin d'enregistrement).
l'enregistrement prend 14 minutes et plus !!!!!! qui est bizarre.
Je vous envoie un exemple de mes sous-VI réaliser de deux façon. (bien sur, je n'utilise pas les deux dans le même projet!!!).
MErci pour l'aide.
le 07-19-2017 04:45 AM
Bonjour,
pourrais-tu préciser si les deux programmes ont le même comportement ?
as-tu une idée du nombre d'éléments dans tes tableaux ?
merci
le 07-19-2017 08:02 AM
Bonjour,
Oui, les deux programmes ont le même comportement.
Les tableaux qui vont directement vers le cluster et après vers la fonction Insert Data, ont le même nombres d’éléments.
Cependant les éléments des tableaux varie selon la longueur du fichier traiter (le nombre de ligne dans un fichier varie de 29 à 35000 lignes).
Je précise que jusqu’à maintenant j'ai pas trouver de solution ....
le 07-19-2017 09:37 AM
Bonjour,
je te suggère de rendre l'écriture dans la BD un peu moins intensive, en l'intégrant dans la première boucle for (pour le deuxième VI), ou d'écrire les données par "petits lots" de 100 lignes par exemple (pour le premier VI).
La modification du deuxième VI devrait être assez simple à implémenter.
bon courage !
le 07-19-2017 10:09 AM
Sauf erreur de ma part, la première solution (intégrer l'écriture dans la 1ere boucle for) n'est pas possible parce que j'utilise cette boucle pour générer les deux tableaux qui vont êtres enregistrés dans la BD.
Pour la seconde solution (utilisation des lots), je vois pas vraiment comment je peut la réaliser !!
le 07-19-2017 10:31 AM
on ne voit pas tout le code sur tes copies d'écrans, pourrais-tu joindre tes VIs ?
Pour le programme n°1, le plus simple est d'intégrer la boucle for dans une boucle while, qui gère l'écriture par petits bouts. Mais de toutes façons pour 100 000 lignes, ça va prendre du temps !
le 07-19-2017 01:47 PM
Le projet est confidentiel, quoi que, je t'envoie une version modifier.
Le problème , faut créer une BD pour voir comment le programme réagit !!
le 07-19-2017 02:06 PM
les fichiers utilisés sont les seulement les trois envoyés
le 07-19-2017 02:15 PM
voici le projet
le 07-20-2017 02:24 AM
bonjour,
je te fais la proposition suivante ... Eventuellement, au lieu d'ouvrir et fermer la base à chaque fois, on peut se contenter de mettre une tempo.
dis-moi si ça répond à ton besoin