IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Lectures sur transactions en cours. [WD14]


Sujet :

WinDev

  1. #1
    Membre chevronné
    Avatar de mogwai162
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 376
    Points : 1 860
    Points
    1 860
    Par défaut Lectures sur transactions en cours.
    Bonjour tout le monde.

    Je me suis écrit une gestion de stock de bobines de papier qui ne fonctionne pas trop mal.

    Une opération contenant un ou plusieurs mouvements, chaque opération est protégée par une transaction. Tout fonctionne très bien.

    Cependant je dois maintenant transférer les mouvements de stocks vers une autre applicatioon afin d'y maintenir des stocks à jour.

    Je voudrais y transférer des opérations et non pas des mouvements car mes mouvements doivent être équilibrés bien sûr.

    Hors si je lis mes opérations pendant sa création je risque de n'avoir pas tous les mouvements s'y afférant.

    J'ai bien une solution mais elle ne me plait pas d'ou ma question :

    Avez-vous déjà eu ce souci ? Comment faites-vous ?

    Merci

  2. #2
    Expert confirmé
    Homme Profil pro
    ?
    Inscrit en
    Juillet 2002
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ?

    Informations forums :
    Inscription : Juillet 2002
    Messages : 2 379
    Points : 4 496
    Points
    4 496
    Par défaut
    Bonjour

    Tu pourrais ajouter une rubrique dans le fichier opération qui indiquerait qu'elle est finalisée (tous les mouvements de l'opération sont présent)

    Pour le transfert vers l'autre appli il n'y a plus qu'à traiter les opérations finalisées

  3. #3
    Membre chevronné
    Avatar de mogwai162
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 376
    Points : 1 860
    Points
    1 860
    Par défaut
    Ben oui j'y avais pensé. mais bon je voulais pas toucher a ma base. C'est la solution que j'aime pas.

    Mais je crois bien que je vais y être obligé.

    Je pense tout de même qu'il s'agit d'une lacune d'Hyperfile.

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 252
    Points : 12 910
    Points
    12 910
    Par défaut
    Bonjour,
    Le niveau d'isolation dans la connexion à la base de données est fait pour ça.
    Si le niveau courant est "read commited" (1 de mémoire) ou plus, une connexion ne peut pas voir de données en cours de mise à jour dans une transaction initiée par une autre connexion tant que la transaction n'est pas terminée.
    Comme tu n'indiques pas de base de données, je pense que tu utilises HF. Je ne connais pas la gestion des niveaux d'isolation sur HF, mais il faut creuser de ce côté.

    Tatayo.

  5. #5
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Points : 2 579
    Points
    2 579
    Par défaut
    Effectivement HF travaille en READ UNCOMMITTED.

    La solution est donc celle que évoquiez avec hpascal si vous restez sous HF. Sinon, l'idéal serait de travailler avec une base qui gère correctement les transactions.

  6. #6
    Membre émérite

    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 751
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 751
    Points : 2 368
    Points
    2 368
    Par défaut
    Bonjour,
    Citation Envoyé par mogwai162 Voir le message

    Hors si je lis mes opérations pendant sa création je risque de n'avoir pas tous les mouvements s'y afférant.
    Dans cette situation, tu pourrais poser un verrou en lecture/écriture sur l'enregistrement concerné par la "création".
    Comme ça, tant que les mouvements ne sont pas équilibrés, tu "bloques" l'accès aux données de l'opération.

    Cf. les fonctions HBloqueNumEnr(), HDébloqueNumEnr() et HErreurBlocage ().

    Les fonctions HLit(), HModifie() et HAjoute() permettent aussi de bloquer l'enregistrement manipulé.
    _

  7. #7
    Membre chevronné
    Avatar de mogwai162
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 376
    Points : 1 860
    Points
    1 860
    Par défaut
    Eh bien je vous remercie pour ces infos notamment pour cette notion de READ COMITTED que je ne conaissais pas. Les bases de données avec lesquelles j'avais bossé jusque là le pratiquaient sans que j'ai eu a me poser de questions.

    Il me reste a décider de la manière dont je vais faire.

    Merci encore.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Empecher Lecture d'Enregistrement en cours de Modification
    Par toony dans le forum Administration
    Réponses: 4
    Dernier message: 09/12/2009, 11h18
  2. Erreur de lecture sur BD Access avec delphi
    Par e120650 dans le forum Bases de données
    Réponses: 1
    Dernier message: 10/06/2005, 10h17
  3. [C#] lecture sur port série
    Par Iokanaan dans le forum Windows Forms
    Réponses: 3
    Dernier message: 03/05/2005, 13h50
  4. Réponses: 16
    Dernier message: 29/04/2005, 14h39
  5. [Kylix] Lecture sur le port série en C++
    Par MD Software dans le forum EDI
    Réponses: 1
    Dernier message: 08/05/2004, 12h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo