Communauté des utilisateurs LabVIEW Discussions

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

Enregistrement trop lent dans la BD sql

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!!!).

BD_vi-principale

 

BD-vi_process.png

 

MErci pour l'aide.

 

Tout télécharger
0 Compliments
Message 1 sur 11
5 473 Visites

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

0 Compliments
Message 2 sur 11
5 353 Visites

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 ....

0 Compliments
Message 3 sur 11
5 345 Visites

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 !

0 Compliments
Message 4 sur 11
5 338 Visites

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 !!

 

 

0 Compliments
Message 5 sur 11
5 331 Visites

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 !

0 Compliments
Message 6 sur 11
5 322 Visites

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 !!

0 Compliments
Message 7 sur 11
5 306 Visites

les fichiers utilisés sont les seulement les trois envoyés 

Tout télécharger
0 Compliments
Message 8 sur 11
5 305 Visites
0 Compliments
Message 9 sur 11
5 304 Visites

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

0 Compliments
Message 10 sur 11
5 287 Visites