|
| [W23] requette sql HversFichier rubrique tableau |
| Iniciado por Gurdarr, 24,oct. 2018 16:26 - 3 respuestas |
| |
| | | |
|
| |
Miembro registrado 237 mensajes |
|
| Publicado el 24,octubre 2018 - 16:26 |
Bonjour,
je fais un
SELECT * from MaTable
Hors MaTable contient des rubriques tableaux
Quand je fais HVersFichier(MaSDD,fichierFinal) le fichier final n'a plus mes rubriques tableaux
je sais que cela vient de la requette SQL mais je sais pas comment dire a ma requette sql de traiter cette rubrique comme une rubrique de type tableau ?
Ma procédure permet de sauvegarder ou de tirer un clicher des données à un instant T ou surtout d'une partie des données même si les utilisateurs bloquent certaines partie du fichier en HFCS Je travaillais auparavant avec Hcopiefichier mais c'est vraiment long de traiter des gros fichier pour à la fin ne garder que certaines lignes de cette tables (ce nombre est parfaitement variable) et parfois si le fichier est trop gros ben ça coupe ^^
Je cherche une solution pour assurer une copie d'une zone de mes données en HFCS dans un autre fichier.
Procedure Vers_Fic(LOCAL sp_Hfichier est une chaîne,LOCAL sp_Destination est une chaîne,sp_requeteDefaut est une chaîne = "select * from %1") bResultat est un booléen = Faux sMaReq est une chaîne = sp_requeteDefaut SI HFichierExiste(sp_Hfichier) = Faux ALORS VersJournal("ERREUR","Impossible le fichier suivant n'existe pas dans l'annalyse "+sp_Hfichier) FIN fichierFinal est une chaîne SI Position(Majuscule(sp_Destination),".FIC") = 0 ALORS fichierFinal = ComplèteRep(sp_Destination) +sp_Hfichier+".fic" SI fRépertoireExiste(sp_Destination) = Faux ALORS fRepCrée(sp_Destination) FIN SINON fichierFinal = sp_Destination FIN
SI fFichierExiste(fichierFinal) = Vrai ALORS fSupprime(fichierFinal) FIN
SI fFichierExiste(fichierFinal) = Faux ALORS sMaReq = ChaîneConstruit(sMaReq,sp_Hfichier) MaSDD est une Source dede Données = DonneGUID() VersJournal("INFO","Requete pour le fichier "+sp_Hfichier) VersJournal("INFO",sMaReq) SI HExécuteRequêteSQL(MaSDD,hRequêteSansCorrectionHF,sMaReq) ALORS HLitPremier(MaSDD) SI PAS HEnDehors(MaSDD) ALORS bResultat = HVersFichier(MaSDD,fichierFinal) SINON bResultat = Faux FIN SINON VersJournal("ERREUR",HErreurInfo(hErrComplet)) FIN SINON VersJournal("ERREUR","Impossible de supprimer le fichier "+fichierFinal) FIN
RENVOYER bResultat |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 334 mensajes |
|
| Publicado el 25,octubre 2018 - 21:51 |
Comprend pas trop ton besoin mais ton code est trop lourd à mon goût, essaye peut-être de le « refactorer » pour le simplifier, cela ne pourra qu’aider à trouver une solution...
Petit clin d’oeil à Nicolas Boileau: ce qui se conçoit bien se code clairement  Mensaje modificado, 25,octubre 2018 - 21:53 |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 237 mensajes |
|
| Publicado el 26,octubre 2018 - 12:51 |
Bonjour,
Mon objectif: Copier une partie d'un fichier fic de mon analyse depuis un serveur HFCS dans fichier fic local de même structure/format.
Cas possible et tenté dans l'ordre * Copie des lignes une à une via un hfiltre ==>lenteur proportionnelle au nombre de ligne à copier et perturbation et blocage possible des données par les autres utilisateurs, Attention on traite un nouveau fichier les identifiant interne sont différents.
* Utilisation de hcopiefichier puis suppression des lignes inutiles (copie rapide mais lenteur proportionnelle au nombre de ligne à supprimer, les blocages en cours sont annulés, Attention il faut compacter les données suivant le type de fichier voulu car c'est une copie pas un nouveau fichier) Note : quelque fois le fichier copier est malheureusement inutilisable. Note 2: La copie ne s'effectue pas forcément (une sorte de time out pour les gros fichiers) Note 3: Copie refusé avec retour d'erreur qui me dit que le fichier est bloqué par une autres personnes (ont utilise que hbloque ligne par ligne en modification et aucune transaction, l'utilisation de hbloquefichier avant le hcopiefichier ne change qu'une chose cela bloque les autres utilisateurs ^^)
* Utilisation d'une requete puis hversfichier ==> la requete est plus rapide que le parcours ligne à ligne et le hversfichier ne déclenche qu'une seule écriture sur le disque mais impossible de traiter pour le moment les Fichier avec des rubriques de type TABLEAU Attention c'est un nouveau fichier
J'ai donc deux question c'est 1 - comment gérer les rubrique tableau dans une requete si possible ? 2- j'ai penser mais pas encore testé l'utilisation d'une vue qui aurait comme description mon fichier avec des rubriques Tableau et d'exécuter ma requete je sais pas ce que ça donne.
j'espère avoir été plus clair dans mes propos Dergen et merci d'avoir pris le temps de me lire et de me répondre. |
| |
| |
| | | |
|
| | |
| |
| Publicado el 11,abril 2019 - 10:08 |
Bonjour, j'ai eu le même problème. Dans mon analyse Windev, j'ai une fichier qui contient une rubrique de type monétaire de dimension 12. Cette rubrique s'appelle par exemple "mois". Lorsque Windev créé le script SQL pour ce fichier, l'information "dimension 12" semble passer à la trappe. Idem lors de l'utilisation de la fonction hCopieEnreg, les rubriques de dimension multiple sont transformée en mono dimension. Du coup il faut utiliser dans l'analyse Windev, des variables nommées "mois_1","mois_2" etc Ou alors j'ai raté une truc ? |
| |
| |
| | | |
|
| | | | |
| | |
|