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 :

Transaction HF best practice [WD19]


Sujet :

WinDev

  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2008
    Messages
    698
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Octobre 2008
    Messages : 698
    Points : 586
    Points
    586
    Par défaut Transaction HF best practice
    Bonjour à tous,

    J'aimerais savoir comme vous avez implémenté les transaction dans vos requêtes HF car j'ai dés problèmes aléatoires.


    J'utilise des requêtes SQL sur des fichier HF sans accès concurrentiels. (mon programme tourne seul sur la machine)
    J'ai un HTransaction avant mes requêtes puis un HTransactionFin.

    Tous fonctionne bien sauf que par moment le HTransactionFin plante avec une erreur interne de WD190HF.
    Les données sont écrites dans le fichier au lieu d'avoir été "rollbackées" et mon programme ne se lance plus.
    Mon infrastructure délocalisée rend très contraignant l'utilisation des outils Windev pour la récupération des transactions.

    Je m'interroge car j'avais déjà ce genre de problèmes avec Windev 7.0.
    J’espérais naïvement que l'implémentation des transactions avait évoluées en 12 versions.

    Merci d'avance à ceux qui partagent leurs expériences.

    A+

  2. #2
    Membre émérite
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 075
    Points : 2 441
    Points
    2 441
    Par défaut
    Bonjour

    Vous travaillez sur HF ou HFSQL ?
    Parce qu'elles ont évolué mais sur HFSQL et il faut vérifier sur quelle version.

    Hemgé

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2008
    Messages
    698
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Octobre 2008
    Messages : 698
    Points : 586
    Points
    586
    Par défaut
    C'est du HFSQL, avec des sources de données et tout le baratin.

    La version c'est la 56s

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2008
    Messages
    698
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Octobre 2008
    Messages : 698
    Points : 586
    Points
    586
    Par défaut
    J'en déduis que pas grand monde n'utiliser les transactions avec Windev, ce qui ne m'étonne pas vu ce que j'ai lu.

    Bref,

    J'ai maintenant un cas qui plante systématiquement.

    Si je désactive les transactions ça marche bien et avec les transactions ça plante sur le HTransactionFin avec la fameuse erreur interne de wd190HF.

    J'ai même ciblé plus particulièrement l'erreur. Elle se produit lors d'un Delete / HSupprime.

    De plus WdTrans ne permet pas de rétablir la situation.

    Des idées ?

  5. #5
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 325
    Points : 3 838
    Points
    3 838
    Par défaut
    Citation Envoyé par Donpi Voir le message
    J'en déduis que pas grand monde n'utiliser les transactions avec Windev, ce qui ne m'étonne pas vu ce que j'ai lu.
    Bref,
    ou que ceux qui utilisent les transactions ne rencontrent pas de problème ou le problème que tu rencontres, ce qui est mon cas.
    Je n'ai pas d'idées à proposer donc pas d'intervention sauf celle-ci.

  6. #6
    Membre éprouvé
    Inscrit en
    Avril 2008
    Messages
    1 129
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 1 129
    Points : 1 283
    Points
    1 283
    Par défaut
    Salut,

    As tu un thread lancé qui manipule des fichiers de la transaction? (htransaction n'aime pas beaucoup)
    Comment poses tu ta transaction? globale ? ou fichiers spécifiques?
    Je ne pourrais pas trop t'aider car je n'utilise les transactions qu'avec les ordres H et pas avec des requêtes SQL (peut être est ce la raison?)
    Tu pourrais en avoir le cœur net en remplaçant tes requêtes sql par des ordres H ?

    Bon courage!

  7. #7
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2008
    Messages
    698
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Octobre 2008
    Messages : 698
    Points : 586
    Points
    586
    Par défaut
    Citation Envoyé par zouzoukha Voir le message
    Salut,

    As tu un thread lancé qui manipule des fichiers de la transaction? (htransaction n'aime pas beaucoup)
    Comment poses tu ta transaction? globale ? ou fichiers spécifiques?
    Je ne pourrais pas trop t'aider car je n'utilise les transactions qu'avec les ordres H et pas avec des requêtes SQL (peut être est ce la raison?)
    Tu pourrais en avoir le cœur net en remplaçant tes requêtes sql par des ordres H ?

    Bon courage!
    Effectivement j'ai 4 threads en parallèles qui manipulent des données.
    Mais j'ai une sorte de mutex qui ne permet pas d'"ouvrir" une transaction tant que la précédente n'est pas finie.
    J'ai d'abord pensé que ça venais de la, mais la synchronisation des thread est bonne.

    Ensuite j'ai commencer avec des H... et j'ai remplancé par du SQL. mais ça ne va pas mieux.

  8. #8
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2008
    Messages
    698
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Octobre 2008
    Messages : 698
    Points : 586
    Points
    586
    Par défaut
    Bon je lâche l'affaire.

    Mon code fonctionne :
    -Parfaitement sans transaction.
    -Avec une transaction
    -Dans un thread

    Ne fonctionne pas:
    -Dans une boucle de 1 itération (pour i = 1 a 1)
    -hors d'une boucle si je rajoute d'autres traitement qui font des lectures sur l’autre tables.

    En gros les transaction hyperfile c'est une grosse rigolade fini avec les pieds comme tant d'autre fonctionnalités pcsoft.
    J'en ai sec de ce langage

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 16/06/2006, 14h46
  2. swing best practices.
    Par bbclone dans le forum AWT/Swing
    Réponses: 13
    Dernier message: 07/06/2006, 11h14
  3. Réponses: 4
    Dernier message: 23/05/2006, 15h22

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