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 :

Base HF7 créée dynamiquement sans analyse, pas d'accès multi utilisateurs ?


Sujet :

WinDev

  1. #1
    Membre averti Avatar de droliprane
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2005
    Messages : 710
    Points : 444
    Points
    444
    Par défaut Base HF7 créée dynamiquement sans analyse, pas d'accès multi utilisateurs ?
    Bonjour à tous,
    pour un POC de collecte de logs en provenance de machine outils, j'ai créé par programmation une description de fichier hyperfile (HF7). Si le fichier n'existe pas il se créé tout seul via nu HCreation.
    J'ai monté une petite interface avec un thread qui vient lire et déverser les logs dans cette base, ça marche bien.
    Le problème réside au niveau de l'accès simultané depuis différents clients. A priori, comme ce fichier est déclaré "externe", et ne repose pas sur une analyse du projet, je ne pourrais pas disposer de l'accès multi utilisateurs, et serait bloqué en mono.
    Ca vous parle ?
    Est-ce que j'ai une parade ou bien ma seule option sera de basculer en HFCS ?
    Merci par avance.
    Bonne journée à tous.
    droliprane
    'Diviser chacune des difficultés en autant de parcelles qu’il se pourrait et qu’il serait requis pour les mieux résoudre', René Descartes

    => Maya GPAO

  2. #2
    Membre émérite
    Femme Profil pro
    .
    Inscrit en
    Janvier 2012
    Messages
    999
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : .
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Janvier 2012
    Messages : 999
    Points : 2 526
    Points
    2 526
    Par défaut
    Bonjour droliprane,

    Extrait de l'aide :

    Après l'appel à la fonction HDécritFichier :
    Le fichier de données peut être manipulé comme n'importe quel fichier décrit dans l'analyse.

    J'utilise ce type de fichier dans une appli multi-utilisateurs, sans problèmes.

  3. #3
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    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 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Bonjour,

    J'ai une question pour le multi-utilisateurs : c'est un accès en simultané, ou un accès à tour de rôle ?

    Comme serendib, avant HFCS, on arrivait à faire de l'accès en multi-utilisateurs.

    ce que je ferais pour faire simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Procédure EnregInfo()
    HdeclareExterne(MonFic,...CnxHF7) // Déclaration du fichier avec une connexion HF7 déclarée dans le code du projet (ou pas : A tester niveau perfs, mais je trouve ça plus propre)
    ...
    Hajoute(monfic)
    HannuleDeclaration(MonFic)
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  4. #4
    Membre averti Avatar de droliprane
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2005
    Messages : 710
    Points : 444
    Points
    444
    Par défaut
    Merci pour vos réponses. J'insiste sur le fait qu'il n'y a pas d'analyse dans le projet. Et que par exemple, si j'ouvre le fichier .FIC en direct depuis le centre de contrôle, alors mon appli ne peut pas se connecter. Et inversement. Il semble que le fait qu'il n'y ait pas d'analyse associée soit à l'origine du blocage.
    'Diviser chacune des difficultés en autant de parcelles qu’il se pourrait et qu’il serait requis pour les mieux résoudre', René Descartes

    => Maya GPAO

  5. #5
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 811
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 811
    Points : 5 270
    Points
    5 270
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Citation Envoyé par droliprane Voir le message
    Merci pour vos réponses. J'insiste sur le fait qu'il n'y a pas d'analyse dans le projet. Et que par exemple, si j'ouvre le fichier .FIC en direct depuis le centre de contrôle, alors mon appli ne peut pas se connecter. Et inversement. Il semble que le fait qu'il n'y ait pas d'analyse associée soit à l'origine du blocage.
    C'est tout à fait logique, ton fichier est déjà utilisé ailleurs.
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  6. #6
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    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 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Oui, tu veux qu'il y ait un accès concurrent à ce fichier (plusieurs accès en même temps).

    Il vaut mieux passer par une "base" en hfcs.
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  7. #7
    Membre émérite
    Femme Profil pro
    .
    Inscrit en
    Janvier 2012
    Messages
    999
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : .
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Janvier 2012
    Messages : 999
    Points : 2 526
    Points
    2 526
    Par défaut
    Citation Envoyé par Voroltinquo Voir le message
    Bonjour,

    C'est tout à fait logique, ton fichier est déjà utilisé ailleurs.
    Tout à fait d'accord.
    Si une appli utilise un fichier, le centre de contrôle ne peut pas l'ouvrir et inversement.
    Mais si l'appli est multi-utilisateurs tous ceux utilisant cette appli y auront accès.
    Avec ou sans analyse, c'est un fichier HF comme un autre.

    Extrait de l'aide :

    Après l'appel à la fonction HDécritFichier :
    Le fichier de données peut être manipulé comme n'importe quel fichier décrit dans l'analyse.

  8. #8
    Membre averti Avatar de droliprane
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2005
    Messages : 710
    Points : 444
    Points
    444
    Par défaut
    Citation Envoyé par serendib Voir le message
    Tout à fait d'accord.
    Si une appli utilise un fichier, le centre de contrôle ne peut pas l'ouvrir et inversement.
    Mais si l'appli est multi-utilisateurs tous ceux utilisant cette appli y auront accès.
    Avec ou sans analyse, c'est un fichier HF comme un autre.

    Extrait de l'aide :

    Après l'appel à la fonction HDécritFichier :
    Le fichier de données peut être manipulé comme n'importe quel fichier décrit dans l'analyse.
    Je suis pas certain de bien comprendre. Si déjà l'appli et le centre de contrôle ne peuvent pas se partager l'accès au .FIC simultanément, comment plusieurs instances de mon appli pourraient y parvenir ?

    Est-ce qu'il faut obligatoirement faire un hannuleDeclaration après chaque accès pour le libérer pour les copains ?

    Je vous montre le bout de code que j'appelle en initialisation de mon projet (qui se résume à une fenêtre) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    depot_hyperfile est une chaîne = "\\srv-nas\HF\"
    fichier_hyperfile est une chaîne = "LOGS.FIC"
    depot_logs est une chaîne = "\\srv-prod\logs"
    LOGS est une Source de Données
     
    descFichier			est une Description de Fichier
    rubrique				est une Description de Rubrique
     
    // Description du fichier HF7
    descFichier.Nom						= "LOGS"
    descFichier.Type					= hFichierNormal
    descFichier.CryptageFic				= hCryptageStandard
    descFichier.GrosFichier				= Vrai
     
    // Description de la rubrique "ID"
    rubrique.Nom						= "ID"
    rubrique.Type						= hRubIDAuto4
    rubrique.TypeClé					= hCléUnique
    HDécritRubrique(descFichier, rubrique)
     
    // Description de la rubrique "FICHIER"
    rubrique.Nom						= "FICHIER"
    rubrique.Type						= hRubTexte
    rubrique.TypeClé					= hCléDoublon
    rubrique.Taille						= 40
    HDécritRubrique(descFichier, rubrique)
     
    // Description de la rubrique "DATEHEURE"
    rubrique.Nom						= "DATEHEURE"
    rubrique.Type						= hRubDateHeure
    rubrique.TypeClé					= hCléDoublon
    HDécritRubrique(descFichier, rubrique)
     
    // Description de la rubrique "X"
    rubrique.Nom		= "X"
    rubrique.Type		= hRubEntier4
    HDécritRubrique(descFichier, rubrique)
     
    // Description de la rubrique "Y"
    rubrique.Nom		= "Y"
    rubrique.Type		= hRubEntier4
    HDécritRubrique(descFichier, rubrique)
     
    // Description de la rubrique "Z"
    rubrique.Nom		= "Z"
    rubrique.Type		= hRubEntier4
    HDécritRubrique(descFichier, rubrique)
     
    // Description de la rubrique "ERR_CN"
    rubrique.Nom						= "ERR_CN"
    rubrique.Type						= hRubTexte
    rubrique.Taille						= 40
    HDécritRubrique(descFichier, rubrique)
     
    // Valide la description du fichier de données
    HDécritFichier(LOGS, descFichier)
     
    // Oriente la source de données sur le bon répertoire
    HChangeRep("*", depot_hyperfile)
     
    SI PAS HDéclareExterne(ComplèteRep(depot_hyperfile)+fichier_hyperfile, "LOGS")
    	HCréation(LOGS)
    FIN

    Et comment je requête ma base en sql :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Rs est une Source de Données
    Sql	est une chaine = "" + 
    	"SELECT * " +
    	"FROM LOGS " + 
    	"WHERE (DATEHEURE BETWEEN '" + d1 + "' AND '"+ d2 + "') " +
    	"ORDER BY DATEHEURE"
     
    SI HExécuteRequêteSQL(Rs, hRequêteSansCorrectionHF, Sql) ALORS
    	FichierVersTableMémoire(TABLE_LOGS, Rs)
    SINON
    	Erreur(ErreurInfo)
    FIN
    HLibèreRequête(Rs)
    Quand je lance 2 instances distinctes de mon appli, la première accède au fichier, mais la seconde génère cette erreur :

    Vous avez appelé la fonction 'HCréation'.
    Une erreur de blocage est survenue sur la fonction 'HDéclareExterne' précédente et n'a pas été traitée.
    Fonction appelée à la ligne 125 du traitement 'Procédure locale call_description_fichier'.
    Merci pour votre aide.
    'Diviser chacune des difficultés en autant de parcelles qu’il se pourrait et qu’il serait requis pour les mieux résoudre', René Descartes

    => Maya GPAO

  9. #9
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 811
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 811
    Points : 5 270
    Points
    5 270
    Billets dans le blog
    1
    Par défaut
    HDécritFichier déclare implicitement la table comme externe donc le HDéclareExterne n'a pas lieu d'être. Il faut utiliser HFichierExiste pour voir si la création est utile, ou mieux HCréationSiInexistant.
    A la volée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SI PAS HFichierExiste("LOGS") ALORS
    	CréerTableDynamique()
    FIN
    CréerTableDynamique est ton 1° code jusque HChangeRep inclus. HChangeRep sera précédé de HCréation("LOGS")
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  10. #10
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    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 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Le centre de contrôle (ou WDmap) verrouille le fichier. Il est inaccessible par une autre appli.

    Question bête : si ce sont des logs, pourquoi ne pas simplement utiliser des fichiers texte et les consommer en lieu et place de ton exécution de requête ?
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  11. #11
    Membre averti Avatar de droliprane
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2005
    Messages : 710
    Points : 444
    Points
    444
    Par défaut
    Encore merci mais je suis désolé, en appliquant la méthode HCreationSiInexistant, je continue de rencontrer l'erreur d'accès bloqué :

    Nom : Capture d'écran 2023-12-15 170908.png
Affichages : 110
Taille : 234,1 Ko

    @frenchsting, les logs sont collectés et chargés dans le .FIC, je ne vois pas trop comment je pourrais faire autrement, les fichiers txt sont des fichiers plats, type csv
    'Diviser chacune des difficultés en autant de parcelles qu’il se pourrait et qu’il serait requis pour les mieux résoudre', René Descartes

    => Maya GPAO

  12. #12
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 811
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 811
    Points : 5 270
    Points
    5 270
    Billets dans le blog
    1
    Par défaut
    Le problème du partage de données en CLASSIC est que les accès concurrents aux fichiers sont gérés par l'OS. Tant qu'un fichier, quel qu'il soit, cela peut très bien être une feuille de calcul, sera ouvert dans une application A, il ne sera pas accessible dans une application B. En ce qui concerne les .FIC, c'est à toi de gérer les accès concurrents à coup de HFerme, de files d'attente et de sémaphores. En fait tu dois te taper à la main le boulot du serveur.
    Cela ne se limite pas aux tables créées dynamiquement ou déclarées EXTERN, mais aussi aux tables du .WDA.
    Remarque
    Concernant les tables EXTERN, le problème est double.
    -Du point de vue de ton application, elles seront "occupées" si elles sont utilisées par leur application d'origine.
    -Du point de vue de l'application d'origine, elles sont bloquées si l'application dans laquelle elles sont EXTERN les utilise.
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  13. #13
    Membre averti Avatar de droliprane
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2005
    Messages : 710
    Points : 444
    Points
    444
    Par défaut
    Ok donc on n'est vraiment pas sur du multiutilisateur au sens habituel du terme. La base est partageable, mais un seul user à un instant T, et il faut gérer un jeton d'accès type sémaphore.
    Ce qui m'étonne, c'est que j'ai déjà fait des projets en HF classique, mais avec une analyse dans le projet, et je pouvais avoir plusieurs users qui requêtaient la BD en même temps, ça n'a jamais posé de problème.
    Là le soucis vient véritablement du fait que mon unique fichier .FIC a une une description déclarée à la volée, sans analyse. Si ce n'est pas contournable, je ferai une analyse dans le projet.
    Merci à vous
    'Diviser chacune des difficultés en autant de parcelles qu’il se pourrait et qu’il serait requis pour les mieux résoudre', René Descartes

    => Maya GPAO

  14. #14
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 811
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 811
    Points : 5 270
    Points
    5 270
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par droliprane Voir le message
    Ce qui m'étonne, c'est que j'ai déjà fait des projets en HF classique, mais avec une analyse dans le projet, et je pouvais avoir plusieurs users qui requêtaient la BD en même temps, ça n'a jamais posé de problème.
    C'est un pur hasard. Il ne devait certainement pas y avoir de requêtes longues, et tout s'est bien passé.
    Quoiqu'il en soit, s'il y a partage de données entre utilisateur, il faut penser Client-Serveur. Comme je l'expliquait plus haut, le serveur fait son boulot et s'occupe de tout.
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  15. #15
    Membre averti Avatar de droliprane
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2005
    Messages : 710
    Points : 444
    Points
    444
    Par défaut
    Je ne suis pas convaincu désolé

    Si je laisse mon client 1 au repos (j'entends par là "plus en train de requêter"), mais quand même avec une connexion fonctionnelle sur le .FIC, et que je lance un second client, le second n'obtient pas l'accès, avec message "erreur de blocage".

    J'ai testé la libération de la connexion après chaque requête, à coup de HFerme, HAnnuleDeclaration, et ça ne fonctionne toujours pas.

    Finalement, j'intercepte une exception, et j'indique à l'utilisateur qu'une autre personne utilise l'accès HF mono, et qu'il doit ré-essayer plus tard.

    Mais bon, ça ne sera pas satisfaisant pour ce que je veux en faire.

    Bonne journée
    'Diviser chacune des difficultés en autant de parcelles qu’il se pourrait et qu’il serait requis pour les mieux résoudre', René Descartes

    => Maya GPAO

  16. #16
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    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 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Bonjour,

    Dsl pour ma question en dehors de la plaque, j'avais une idée en tête qui ne correspondait pas à la réalité.

    Une idée, faire un hchangenom(NomBidon) / hchangerep(RepBidon) après ton ajout dans le fichier. (Sans oublier de faire le bon "branchement" avant l'ajout)
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  17. #17
    Membre averti Avatar de droliprane
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2005
    Messages : 710
    Points : 444
    Points
    444
    Par défaut
    Citation Envoyé par frenchsting Voir le message
    Bonjour,

    Dsl pour ma question en dehors de la plaque, j'avais une idée en tête qui ne correspondait pas à la réalité.

    Une idée, faire un hchangenom(NomBidon) / hchangerep(RepBidon) après ton ajout dans le fichier. (Sans oublier de faire le bon "branchement" avant l'ajout)
    Hé oui, je viens de tester, en faisant un HChangeRep("*", "C:\') juste après avoir fermé mon fichier, et cette fois il libère bien l'accès pour une autre interrogation depuis le second client.

    Bon, ça fonctionne, mais je voudrais être certain que ça ne créée pas d'effet de bord que je ne verrais pas là tout de suite. Merci pour la ruse ^^
    'Diviser chacune des difficultés en autant de parcelles qu’il se pourrait et qu’il serait requis pour les mieux résoudre', René Descartes

    => Maya GPAO

  18. #18
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    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 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Les tests à faire, c'est faire alterner une machine A avec une machine B (3-4 fois) et au milieu de tout ça, une machine C.
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  19. #19
    Membre averti Avatar de droliprane
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2005
    Messages : 710
    Points : 444
    Points
    444
    Par défaut
    je suis dessus. ça se comporte pas si mal, juste quand un des clients n'a pas l'accès au fichier, j'ai la popup de windev qui m'indique que la source de données est inaccessible, avec le retry automatique.

    Pas super sexy, mais au moins ça ne plante pas.

    Nom : Capture d'écran 2023-12-18 135438.png
Affichages : 69
Taille : 21,3 Ko
    'Diviser chacune des difficultés en autant de parcelles qu’il se pourrait et qu’il serait requis pour les mieux résoudre', René Descartes

    => Maya GPAO

  20. #20
    Membre actif
    Homme Profil pro
    Inscrit en
    Janvier 2003
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 180
    Points : 275
    Points
    275
    Par défaut
    bonjour,

    l'accès en partage de fichier HF existe depuis bien longtemps j'ai même commencer avec Windev 5.5b, cela fonctionnait sans les erreurs évoquées dans vos messages
    si mes souvenirs sont bons il existait un pb avec les oplock
    néanmoins utiliser HF en partage de fichier n'a plus d'intérêt depuis que le moteur C/S existe
    sinon vous aurez bcp moins de pb à utiliser SQLite
    Cordialement JeAn-PhI

Discussions similaires

  1. Gestion accès multi-utilisateur à la base de donnée access
    Par stagiere251 dans le forum Sécurité
    Réponses: 0
    Dernier message: 05/04/2020, 11h59
  2. [WD16] base de donnee sans analyse
    Par omedo dans le forum WinDev
    Réponses: 9
    Dernier message: 15/09/2011, 13h12
  3. [eZ Publish] Bloc dynamique n'est pas mise à jour sans que je modifier la Frontpage
    Par souifiene dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 10/05/2011, 14h56
  4. Insert dans base Access qui ne se fait pas, mais sans erreur
    Par muppetshow dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 28/01/2010, 21h37
  5. Base acces Multi utilisateur
    Par Alpha31 dans le forum Access
    Réponses: 5
    Dernier message: 22/05/2006, 10h52

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