|
| Création d'un fichier local HyperFile par programmation |
| Iniciado por Manu MC, 15,jun. 2015 14:41 - 6 respuestas |
| |
| | | |
|
| |
Miembro registrado 36 mensajes |
|
| Publicado el 15,junio 2015 - 14:41 |
Bonjour
L'application que j'ai créé est sur un disque réseau avec une base HFSQL sur un serveur Hyperfile distant. Chqaue utilisateur dans l'entreprise peut créer sur son bureau un raccourci vers l'exeécutable de l'application et la lancer depuis son poste (pour éviter les copies multiples sur chaque poste et simplifier les mises à jours).
Par contre l'application a dans son analyse un fichier local utilisable pour faire un calcul des besoins. A chaque calcul de besoin l'application va vider ce fichier local, y entrer les données de sa requete et afficher le contenu à l'utilisateur. Mais le problème est que si deux ou trois utilisateurs lancent un calcul de besoins en même temps ils seront les trois sur le même fichier et ça va faire des conflits !
Je souhaite donc trouver une solution pour créer ce fichier en local sur le PC de l'utilisateur dans le dossier C:\TEMP par exemple à l'ouverture de la fenêtre de calcul des besoins. Est ce que c'est possible de faire ça par programmation ?
Dans la doc j'ai trouvé : HdécritFichier si j'essaye ça pourrait peut-être fonctionner :
UnFichier est une Description de Fichier UnFichier..Nom = "CalculBesoins" UnFichier..Type = hFichierNormal UnFichier..CryptageFic = hCryptageStandard Unfichier..Répertoire = "C:/TEMP"
HDécritFichier(UnFichier) HCreation(CalculBesoins)
Mais comment lui envoyer toutes les rubriques de celui de l'analyse ?
Merci d'avance.
-- Manu M.C Windev 19 |
| |
| |
| | | |
|
| | |
| |
| Publicado el 15,junio 2015 - 15:11 |
Tu n'as pas besoin de hdécrit, un hchangeconnexion va te suffir pour ce que tu souhaites faire. ou tu peux mettre la ligne suivante : HConnecte(FichierLocal,"","",sRepLocal,hAccèsHF7,hOLectureEcriture)
Cette ligne doit, bien sur, apparaitre après la ligne hchangeconnexion("*",cnx) si tu utilises cette commande. |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 186 mensajes |
|
| Publicado el 15,junio 2015 - 15:24 |
Salut, Tu peux faire un truc du genre :
UnAlias est une Source de Données NomFichierest une chaîne=ComplèteRep(fRépertoireTemp) + "CalculBesoin"
SI fFichierExiste(NomFichier + ".FIC") ALORS SI PAS HDéclareExterne(NomFichier + ".FIC", UnAlias) ALORS Erreur(ErreurInfo(errComplet)) FIN SINON
SI PAS HVersFichier(CalculBesoin, NomFichier + ".FIC") ALORS Erreur(ErreurInfo(errComplet)) SINON
SI PAS HDéclareExterne(NomFichier + ".FIC", UnAlias) ALORS Erreur(ErreurInfo(errComplet)) FIN FIN FIN
-- Seb |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 186 mensajes |
|
| Publicado el 15,junio 2015 - 15:25 |
Ensuite tu le manipule en utilisant UnAlias.NomRubrique et tu peux utiliser les fonctions H... dessus.
-- Seb |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 186 mensajes |
|
| Publicado el 15,junio 2015 - 15:31 |
Bon c'est clair que la solution de Franck est bien plus simple que la mienne. Merci pour la leçon 
-- Seb |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 36 mensajes |
|
| Publicado el 16,junio 2015 - 07:32 |
Merci pour vos réponses Sebinc et Franck, je vais essayer les deux solutions.
-- Manu M.C Windev 19 |
| |
| |
| | | |
|
| | |
| |
| Publicado el 19,febrero 2020 - 10:48 |
Salut, Pour créer une vue matérialisée dans un fichier plat local HFSQL. On peut créer un fichier plat JSON dans lequel on copie les données extraites de la base de données via une requête SQL, puis on charge ce fichier JSON dans un fichier HFSQL local (le fichier HFSQL doit avoir été rajouté dans l'analyse au préalable .
sPathFileTemps est une chaîne = fRépertoireTemp()+"fichierPlatTemps.json" cnxLocal est une Connexion cnxLocal..Libellé = "local" cnxLocal..Provider = hAccèsHF7 cnxLocal..Accès = hOLectureEcriture HOuvreConnexion(cnxLocal) HChangeConnexion(HVueFichierPlatDansAnalyse,cnxLocal) HExécuteRequête(HVueFichierPlatDansAnalyse, gcnxPrimary) HExporteJSON(HVueFichierPlatDansAnalyse, sPathFileTemps, hExpCreation) HImporteJSON(HVueFichierPlatDansAnalyse,sPathFileTemps) fSupprime(sPathFileTemps) |
| |
| |
| | | |
|
| | | | |
| | |
|