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

WebDev Discussion :

Les transactions sous WebDev


Sujet :

WebDev

  1. #1
    Membre éclairé
    Homme Profil pro
    Informaticien en retraite ...
    Inscrit en
    Janvier 2008
    Messages
    496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Informaticien en retraite ...
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 496
    Par défaut Les transactions sous WebDev
    Bonjour,
    Quand j'étais sous le langage PROGRESS, on utilisait les transaction lors de plusieurs écritures de fichier
    Par exemple, lors de la prise de commande, au final, on déclarait le début de la transaction, on écrivait la ligne entête puis une boucle pour les lignes articles
    Si un incident, logique ou physique était détecté, on annulait la transaction
    Comme l'écriture physique ne se faisait que si la transaction était acceptée, en cas de transaction annulée aucun fichier n'était modifié

    Sous WebDev je ne "pige" pas ce qu'est une transaction
    Je ne suis pas en client serveur J'ai une base HFSQL en local, multi-utilisateurs, mais pas de connexion genre client-serveur
    Je gère le blocage des enregistrements, mais pour les transaction ?
    Merci
    Cordialement
    SC

  2. #2
    Expert confirmé
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 591
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 591
    Par défaut
    Bonjour à toi,

    Tu n'as pas vraiment posté au bon endroit. Il y a une partie du forum sur HF.

    Que ce soit Windev ou Webdev, les transactions ne sont gérées que sur des BDD client-serveur : ORACLE, SQL Server,... et HFCS. Il faut un moteur de BDD qui mémorise ta transaction. Ce n'est pas le cas de HF classic. Dans la mesure du possible, je t'engage à utiliser HFCS en lieu et place de HF classic.

  3. #3
    Membre éclairé
    Homme Profil pro
    Informaticien en retraite ...
    Inscrit en
    Janvier 2008
    Messages
    496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Informaticien en retraite ...
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 496
    Par défaut
    Grand merci pour ton conseil
    Est-ce vraiment utile que je passe en HFCS ? Je n'ai pas un grand nombre de visiteur, et peut de mouvement fichier
    De plus, je ne connait rien à HFCS ....

  4. #4
    Expert confirmé
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 591
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 591
    Par défaut
    Si tu veux gérer les transactions : oui.
    Si tu veux apprendre à utiliser HFCS, oui aussi.

    Si c'est comme dan Windev, tu peux fais cohabiter les 2 fonctionnements dans ton appli. Tu utilises alors un paramètre dans un fichier ini, qui te dit si tu dois utiliser l'un ou l'autre.
    En gros :
    1. tu installes Manta sur ton serveur.
    2. Dans le code de projet, tu fais un truc genre (à approfondir, je te donne juste la trame) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    sMonTypeBdd  est chaine = inilit(...)
    si sMonTypeBdd = "HFCS" alors
      si pas HDécritConnexion("MaConnexion", sUser, sMdp, sMonServeur, sMabdd, "", hAccèsHFClientServeur) ALORS 
        Erreur("")
        finprogramme()
      FIN
      si pas HOuvreConnexion("MaConnexion") ALORS
        Erreur("")
        finprogramme()
      FIN
      HchangeConnexion("*", "MaConnexion")
    SINON
      Hchangerep("*", sMonRepDeDonnées)
    FIN
    Tu crées ensuite des proc globales pour gérer les transactions dans lesquelles tu testeras si tu es bien en HFCS (sMonTypeBdd)

  5. #5
    Membre éclairé
    Homme Profil pro
    Informaticien en retraite ...
    Inscrit en
    Janvier 2008
    Messages
    496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Informaticien en retraite ...
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 496
    Par défaut
    Merci
    OK, je vais me lancer ...

  6. #6
    Expert confirmé
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 591
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 591
    Par défaut
    N'aies pas peur, ça fait pas mal

    Attention, j'avais fait une erreur de frappe sur mon code de hdecritconnexion()

  7. #7
    Membre éclairé
    Homme Profil pro
    Informaticien en retraite ...
    Inscrit en
    Janvier 2008
    Messages
    496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Informaticien en retraite ...
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 496
    Par défaut
    Il va me falloir quelques jour, le temps d'assimiler et de mettre en pratique

    Ceci dit, cela changera quoi pour les transactions ?
    Et quels sont les avantages par rapport à HFSQL ?

  8. #8
    Expert confirmé
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 591
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 591
    Par défaut
    Pour les transactions, l'intérêt d'utiliser les procédures est de pouvoir tester le type de BDD par exemple (et éventuellement de faire des traces).

    Si ton serveur est performant, le traitement devrait être plus rapide.

  9. #9
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 411
    Par défaut
    Ceci dit, cela changera quoi pour les transactions ?
    Ca les permet, justement
    Et quels sont les avantages par rapport à HFSQL ?
    Voir la littérature les avantages client/serveur

    HFSQL est simple à mettre en place

  10. #10
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 239
    Par défaut
    hTransactionDebut() --> début de transaction
    hTransactionFin() --> équivalent de commit
    hTransactionAnnule() --> équivalent de Rollback

    J'ai un vague doute, j'ai un vague souvenir de l'avoir utilisé avec du HF classic.
    Mais quoi qu'il en soit, installer HFCS est très facile. Et les 5 ou 6 lignes de code à mettre en début de programme pour basculer de HFCassic vers HFCS ne posent pas de problème non plus.

  11. #11
    Membre éclairé
    Homme Profil pro
    Informaticien en retraite ...
    Inscrit en
    Janvier 2008
    Messages
    496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Informaticien en retraite ...
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 496
    Par défaut
    Bonsoir,
    Merci bien à tous
    Je vais terminé mes travaux en cours, et j'étudie cela
    Je ne manquerai pas de vous tenir au courant
    Cordialement
    SC

  12. #12
    Expert confirmé
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 591
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 591
    Par défaut
    Je précise ce que j'ai écrit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Procédure Transactiondebut()
    si sTypeBDD <> "HFCS" Alors RETOUR
    Journalise("Début transaction ") // proc de journalisation qui va enregistrer date heure du buzin
    // Rien ne t'empêche de rajouter plein de trucs rigolos ici aussi comme la gestion du blocage des tables...
    ...
    hTransactionDebut()

Discussions similaires

  1. Capturer les événement claviers sous Webdev
    Par Dedalerun dans le forum WebDev
    Réponses: 0
    Dernier message: 19/01/2009, 08h26
  2. les Transactions sous interbase
    Par kouraichi35 dans le forum Bases de données
    Réponses: 2
    Dernier message: 20/10/2004, 11h15
  3. Les interruptions sous Windows et Linux
    Par Descartes dans le forum x86 32-bits / 64-bits
    Réponses: 7
    Dernier message: 07/06/2003, 22h42
  4. Les index sous Sybase
    Par Emdis dans le forum Autres SGBD
    Réponses: 2
    Dernier message: 02/06/2003, 15h21
  5. PB d'import avec les ActiveX sous BCB6
    Par dergen dans le forum C++Builder
    Réponses: 4
    Dernier message: 29/11/2002, 10h18

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