Précédent   Forum des professionnels en informatique > Environnements de développement > WinDev > HyperFileSQL
HyperFileSQL HyperFileSQL est un système de gestion de base de données relationnel exploité par les logiciels WinDev, WebDev et WinDev Mobile.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/06/2011, 10h35   #1
Membre confirmé
 
Homme Arnaud Benhamdine
Directeur technique
Inscription : octobre 2004
Messages : 157
Détails du profil
Informations personnelles :
Nom : Homme Arnaud Benhamdine
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2004
Messages : 157
Points : 263
Points : 263
Par défaut HF Classic, transactions et TSE/Citrix

Bonjour à tous,

J'ai une application en HF Classic actuellement déployée en mode Citrix auprès de plusieurs centaines d'utilisateurs.

Je souhaiterai encapsuler un certain nombre d'opérations HF dans des transactions.

Or ne sachant pas comment Citrix gère l'accès concurrentiel aux fichiers de données, je me pose la question de savoir comment il va gérer les fichiers de transactions.

Si vous avez une expérience sur les transactions en Citrix (ou TSE je pense que le principe est le même) avec HF Classic, je suis preneur !

En fait, j'ai une inquiétude par rapport au risque que Citrix s'emmêle les pinceaux sur les transactions, inquiétude qui je l'avoue ne repose sur rien de factuel pour le moment.

Merci de vos retours, cordialement.

Arnaud.
Arnaud B. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2011, 05h09   #2
Membre Expert
 
Avatar de EDM-TAHITI
 
Homme Eric CHARIEAU
Conseil - Consultant en systèmes d'information
Inscription : janvier 2010
Messages : 799
Détails du profil
Informations personnelles :
Nom : Homme Eric CHARIEAU
Âge : 48
Localisation : France

Informations professionnelles :
Activité : Conseil - Consultant en systèmes d'information
Secteur : Conseil

Informations forums :
Inscription : janvier 2010
Messages : 799
Points : 1 392
Points : 1 392
Hello Arnaud
Au regard de l'aide de Windev concernant les transactions, je ne suis pas certains que cela soit applicable à ton cas. mais comme tu es en Mode classique, tu peux toujours faire les tests à partir d'une lecteur réseau (identique à tous les postes pour les transactions) afin de:
- Débuter une transaction (avec test d'ouverture)
- Apporter des modifications sur une table
- finir la transaction (avec test de fermeture)
Puis, dans un second temps, si tout se passe bien, refaire la manip ci-dessus
- Débuter une transaction (avec test d'ouverture)
- Apporter des modifications sur une table
- Mettre ici la fonction info("Stop") pour éteindre le poste avant la fin de la transaction.
Eteindre à la hussarde le poste qui effectue la transaction, puis le rallumer et annuler la transaction pour voir si citrix répond à tes exigeances (et si l'unicité des tables est respectée).
Voilà comment je procéderais pour avoir l'assurance que citrix ne perd pas ses petits en route.
Bon Dev...
__________________
le savoir est dans les livres, 'the magic touch F1'
Amicalement
Eric
EDM-TAHITI est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2011, 15h47   #3
Membre Expert
 
Homme Nicolas Jeanneau
Développeur informatique
Inscription : octobre 2010
Messages : 638
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Jeanneau
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Bâtiment

Informations forums :
Inscription : octobre 2010
Messages : 638
Points : 1 020
Points : 1 020
Bonjour,

si ça peut t'aider dans ton analyse, j'utilise des transactions dans un environnement Citrix mais sur des bases SQL server 2008. Je n'ai pas encore rencontré de problème depuis 4 ans d'exploitation. Aucune transaction n'est venue interférer avec une autre d'une autre session.

Lorsque j'ai des plantages d'applis, de sessions ou de serveurs, je n'ai pas de problème non plus: si une transaction était en cours, elle a été annulée automatiquement. Je ne sais pas si être en SQL server par rapport à HF classic est différent mais en cas de plantage tu peux vérifier si des enregistrements sont bloqués dans WDTrans.

à bientôt,

Nicolas
Nicolas_Jeanneau est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2011, 17h26   #4
Membre confirmé
 
Homme Arnaud Benhamdine
Directeur technique
Inscription : octobre 2004
Messages : 157
Détails du profil
Informations personnelles :
Nom : Homme Arnaud Benhamdine
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2004
Messages : 157
Points : 263
Points : 263
Citation:
Envoyé par EDM-TAHITI Voir le message
Hello Arnaud
Au regard de l'aide de Windev concernant les transactions, je ne suis pas certains que cela soit applicable à ton cas. mais comme tu es en Mode classique, tu peux toujours faire les tests à partir d'une lecteur réseau (identique à tous les postes pour les transactions) afin de:
- Débuter une transaction (avec test d'ouverture)
- Apporter des modifications sur une table
- finir la transaction (avec test de fermeture)
Puis, dans un second temps, si tout se passe bien, refaire la manip ci-dessus
- Débuter une transaction (avec test d'ouverture)
- Apporter des modifications sur une table
- Mettre ici la fonction info("Stop") pour éteindre le poste avant la fin de la transaction.
Eteindre à la hussarde le poste qui effectue la transaction, puis le rallumer et annuler la transaction pour voir si citrix répond à tes exigeances (et si l'unicité des tables est respectée).
Voilà comment je procéderais pour avoir l'assurance que citrix ne perd pas ses petits en route.
Bon Dev...
Bonjour Eric,

Merci de ces conseils.
En fait, je n'ai pas la possibilité de faire des tests sous Citrix, et c'est pour cela que je suis preneur de retours d'expérience.

Je sais que les transactions sur HF Classic en mode réseau fonctionnent bien, mais je me demandais si le fait d'être en Citrix y changeait quelque chose.

Cdlt, Arnaud.
Arnaud B. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2011, 17h28   #5
Membre confirmé
 
Homme Arnaud Benhamdine
Directeur technique
Inscription : octobre 2004
Messages : 157
Détails du profil
Informations personnelles :
Nom : Homme Arnaud Benhamdine
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2004
Messages : 157
Points : 263
Points : 263
Citation:
Envoyé par Nicolas_Jeanneau Voir le message
Bonjour,

si ça peut t'aider dans ton analyse, j'utilise des transactions dans un environnement Citrix mais sur des bases SQL server 2008. Je n'ai pas encore rencontré de problème depuis 4 ans d'exploitation. Aucune transaction n'est venue interférer avec une autre d'une autre session.

Lorsque j'ai des plantages d'applis, de sessions ou de serveurs, je n'ai pas de problème non plus: si une transaction était en cours, elle a été annulée automatiquement. Je ne sais pas si être en SQL server par rapport à HF classic est différent mais en cas de plantage tu peux vérifier si des enregistrements sont bloqués dans WDTrans.

à bientôt,

Nicolas
Merci beaucoup Nicolas pour ce retour.

Mais effectivement le fait que tu sois en SQL Server me laisse penser que ce n'est pas comparable, car je suppose que c'est SQL Server qui gère les transactions dans ce cas là.

Cdlt, Arnaud.
Arnaud B. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2011, 09h58   #6
Membre Expert
 
Homme Nicolas Jeanneau
Développeur informatique
Inscription : octobre 2010
Messages : 638
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Jeanneau
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Bâtiment

Informations forums :
Inscription : octobre 2010
Messages : 638
Points : 1 020
Points : 1 020
Non, je gère moi même mes transactions dans le code avec les fonctions H.
Nicolas_Jeanneau est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2011, 17h42   #7
Membre confirmé
 
Homme Arnaud Benhamdine
Directeur technique
Inscription : octobre 2004
Messages : 157
Détails du profil
Informations personnelles :
Nom : Homme Arnaud Benhamdine
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2004
Messages : 157
Points : 263
Points : 263
Citation:
Envoyé par Nicolas_Jeanneau Voir le message
Non, je gère moi même mes transactions dans le code avec les fonctions H.
Intéressant... mais dans ce cas là (je suppose que tu utilise l'accès natif), un HDébutTransaction() déclenche (du moins c'est comme ça que je vois les choses) une transaction dans SQL Server (équivaut à envoyer BEGIN TRANSACTION à SQL Serveur), et ne créé pas en local de fichiers Windev .TRS et .TRX. C'est en ce sens que les transactions doivent être gérées par SQL Server, non ?

Cdlt, Arnaud.
Arnaud B. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2011, 19h20   #8
Membre Expert
 
Avatar de EDM-TAHITI
 
Homme Eric CHARIEAU
Conseil - Consultant en systèmes d'information
Inscription : janvier 2010
Messages : 799
Détails du profil
Informations personnelles :
Nom : Homme Eric CHARIEAU
Âge : 48
Localisation : France

Informations professionnelles :
Activité : Conseil - Consultant en systèmes d'information
Secteur : Conseil

Informations forums :
Inscription : janvier 2010
Messages : 799
Points : 1 392
Points : 1 392
Hello
Et ceci en plus, possibilité de gérer les transactions:
- en local
- en reseau
En effet, tu peux gérer les fichiers de transaction comme tu le souhaites, et donc, limité au poste (enregistrement dans un répertoire local) ou en réseau (répertoire partagé)

cf. l'aide de Windev sur les transactions

Code :
1
2
3
4
5
6
7
8
9
10
// Début de la transaction sur les fichiers Commande et LigneCde
HTransactionDébut("C:\Temp\Transaction.trs", "Commande,LigneCde,-Client")
Ajout_Commande()
QUAND EXCEPTION DANS
HAjoute(Commande) // ajout de la commande
HTransactionFin() // validation de l'ajout
FAIRE
HTransactionAnnule() // suppression des lignes de commandes
FIN


Voilà ce que je pouvais rajouter...
__________________
le savoir est dans les livres, 'the magic touch F1'
Amicalement
Eric
EDM-TAHITI est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h56.


 
 
 
 
Partenaires

Hébergement Web