Discussions au sujet de NI LabVIEW

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

database problème avec mon exe

Résolu !
Accéder à la solution

Bonjour a tous,

 

Pour l'un de mes projet de banc de test, j'utilise une base de donnée locale. J'ai créé cette base de donnée sur le PC sur lequel je développe, je l'ai placé dans un dossier à la racine du C:

 

Sur le PC que je développe, je ne recontre aucun problème pour écrire, lire ou modifier cette base de donnée, par contre le problème ***** pose quand je veux déployé mon VI sur le poste cible (PC du banc de test). Je récupère mes fichiers de base de donnée que je copie et place au meme endroit que sur mon PC de développement, je crée l'éxécutable, installe les drivers qui vont bien et le soft Access pour avoir acces a ma base de donnée ect.

 

quand je lance mon éxécutable tout ***** passe bien, mon VI récupère bien les données déja présente que je lui demande, j'arrive aussi a ajouter des données... LE PROBLEME apparait lorsque je veux modifier des données déja présente dans ma base de donnée, alors la un message d'erreur apparait (voir screen joint) comme quoi l'ID ne peut pas etre mis a jour... Ce que je ne comprend pas c'est que je n'ai pas ce message d'erreur sur le PC de développement et cela fonctionne tres bien...

 

Avez vous deja rencontré ce problème? Y a t il un paramètre a faire attention lors de la création de l'exécutable? Problème de droit d'acces au fichier de la database sur le PC cible?

 

Autre chose: Le PC sur lequel je développe et sous Windows 7 alors que le PC cible est sous windows 8. Je ne sais pas si cela change grand chose (Win8 protège l'acces a certain fichier par défaut la ou Win7 ne le fait pas?...)

 

Merci d'avance de l'aide que vous pourriez m'apporter.

0 Compliments
Message 1 sur 14
5 501 Visites

Salut si l'ID est une clé primaire, elle ne peut pas être mise à jour, c'est le sens de l'erreur.

 

Et cela sur aucun PC, ni pas requête SQL, ni en direct via Access

@+

banniere Luc Livre NXG Champion.png

Luc Desruelle | Mon profil | Mon blog LabVIEW | Auteur livre LabVIEW : Programmation et applications - G Web
Certified LabVIEW Architect (CLA) & Certified TestStand Developper (CTD) | LabVIEW Champion

MESULOG - LinkedIn site | NERYS - NERYS Group
| directeur CEO MESULOG
| CODIR - NERYS group

0 Compliments
Message 2 sur 14
5 490 Visites

Bonjour et merci de votre réponse,

 

Je suis tout a fait d'accord avec vous, mon ID est bien une clé primaire. Cependant ce que je ne comprend est que pourquoi quand je fais tourner mon soft sur mon Pc de développement cela fonctionne parfaitement alors qu'avec mon éxécutable sur le PC du banc de test je recontre ce problème...

 

Je vous joint un petit bou de mon code. Avec ce petit bou de code, je viens enregistrer dans ma base de donnée les chemins de mes instruments de mesure, (megohmmetre sur le com1, generateur sur com2 ect...) Si jamais ces connection venait a changer, je dois donc modifier les information de ma base de donnée. ce bou de code fonctionne parfaitement sur mon PC de développement mais me sort l'erreur cité plus haut quand il est exécuté sur le PC du banc de test...

 

Ma méthode d'update de ma base de donnée est-elle incorrect? dans mon  code, si je ne fixe pas ID a 1 a l'aide du assemblé par nom juste avant le Vi d'update database cela ne fonctionne pas... il ne met pas a jour ma base.

 

J'espère avoir été un peu clair sur le problème que je rencontre.

 

Merci d'avance de votre aide.

 

 

 

 

0 Compliments
Message 3 sur 14
5 481 Visites

il faut faire un update where id=1, mais sans mettre à jour ID=1 dans les données à mettre à jour.

 

banniere Luc Livre NXG Champion.png

Luc Desruelle | Mon profil | Mon blog LabVIEW | Auteur livre LabVIEW : Programmation et applications - G Web
Certified LabVIEW Architect (CLA) & Certified TestStand Developper (CTD) | LabVIEW Champion

MESULOG - LinkedIn site | NERYS - NERYS Group
| directeur CEO MESULOG
| CODIR - NERYS group

0 Compliments
Message 4 sur 14
5 478 Visites

Sinon sur le code, il faudrait faire :

> un sous-vi de lecture des données mdb (Read Data)

> un sous-vi sur la gestion utilisateur des données (pas de code mdb). La structure event à 2 cases, pas de timeout : ok, cancel, et sortir un incateur "Update?". pas de timeout à 100ms.

> un sous-vi qui fait l'update (update Data)

 

Pas dans un seul vi. c'est pas évolutif

banniere Luc Livre NXG Champion.png

Luc Desruelle | Mon profil | Mon blog LabVIEW | Auteur livre LabVIEW : Programmation et applications - G Web
Certified LabVIEW Architect (CLA) & Certified TestStand Developper (CTD) | LabVIEW Champion

MESULOG - LinkedIn site | NERYS - NERYS Group
| directeur CEO MESULOG
| CODIR - NERYS group

0 Compliments
Message 5 sur 14
5 477 Visites

"il faut faire un update where id=1, mais sans mettre à jour ID=1 dans les données à mettre à jour."

 

Bonjour,

 

Dans le principe je suis d'accord avec vous, dans la pratique cela ne fonctionne pas dans mon cas et je ne comprend pas pk...

 

Dans ma base de donnée (Access) ID est bien définie comme une clé primaire avec numérotation automatique donc je suis d'accord sur le fait que je n'ai pas a y toucher, il sert juste pour trouver la ligne que je veux modifier (avec le where ID=1 par exemple). Cependant si je ne met pas a jour l'ID avant d'envoyer le tout au Vi "update database" il me renvoi le message d'erreur ci joint. (Ce qui pour moi n'est pas logique) par contre quand je met a jour mon ID, tout ce passe bien "sur le PC de développement"

 

C'est la première fois que j'utilise une base de donnée dans un de mes projet , je trouve ca tres puissant mais visiblement il y a encore des choses qui m'échappe sur l'utilisation de celle ci.

 

PS: Merci aussi de vos conseil sur la structuration de mon VI, je suis autodidacte et le seul a programmer en labview dans mon entreprise donc pour les échanges de bon(ne) procédé/méthode ce n'est pas évident... toute critique est bonne a prendre pour s'améliorer.

 

 

Message 6 sur 14
5 448 Visites

bonjour l'erreur est diférente, je pense qu'un champ est configuré comme "sans doublon" donc pas de donnée indentique, et que votre update cherche à mettre à jour la donnée, alors qu'elle existe déjà.

 

Je vous propose de me faire un exemple simple, qui ne fonctionne pas, +  votre base de données, et de mettre vi et mdb (udl) dans zip.

A+

banniere Luc Livre NXG Champion.png

Luc Desruelle | Mon profil | Mon blog LabVIEW | Auteur livre LabVIEW : Programmation et applications - G Web
Certified LabVIEW Architect (CLA) & Certified TestStand Developper (CTD) | LabVIEW Champion

MESULOG - LinkedIn site | NERYS - NERYS Group
| directeur CEO MESULOG
| CODIR - NERYS group

0 Compliments
Message 7 sur 14
5 442 Visites

JC51 a écrit :

 

 

PS: Merci aussi de vos conseil sur la structuration de mon VI, je suis autodidacte et le seul a programmer en labview dans mon entreprise donc pour les échanges de bon(ne) procédé/méthode ce n'est pas évident... toute critique est bonne a prendre pour s'améliorer.

 

 


le but n'est jamais de critiquer "négativement" mais d'aider à respecter les bonnes pratiques.

Si je peux aider toujours avec plaisir!

A+

banniere Luc Livre NXG Champion.png

Luc Desruelle | Mon profil | Mon blog LabVIEW | Auteur livre LabVIEW : Programmation et applications - G Web
Certified LabVIEW Architect (CLA) & Certified TestStand Developper (CTD) | LabVIEW Champion

MESULOG - LinkedIn site | NERYS - NERYS Group
| directeur CEO MESULOG
| CODIR - NERYS group

0 Compliments
Message 8 sur 14
5 438 Visites

Je viens de regarder ma base de donnée et essayé plusireur chose mais sans grand succes... Il y a quelquechose que je ne doit pas faire correctement mais je ne vois pas quoi...

 

Je vous joint un VI qui me permet de modifier les informations sur mes pieces à tester.  J'espère que que les petites explications que j'y ai ajouter vous permettrons de mieux comprendre mon problème.

 

Ce que j'ai vraiment du mal a comprendre c'est que mon code arrive a fonctionner avec la Maj de l'Id (??pas logique, mais bon...??) sur le PC sur lequel je développe et lorsque je le déploie sur le PC du banc de test je rencontre l'erreur de doublon...

 

Si vous trouver le temps de jeter un ptit coup d'oeil a mon VI, je vous en serais tres reconnaissant.

0 Compliments
Message 9 sur 14
5 430 Visites
0 Compliments
Message 10 sur 14
5 428 Visites