UniKorn 2 Posté(e) le 25 février 2013 Partager Posté(e) le 25 février 2013 Salut les morpions, Dans le cadre d'un transfert de compétence de mon poste vers une autre SSII qui a raflé le contrat, je cherche un moyen simple de générer de la requête SQL en automatique. J'ai un outil développé par mes soins qui fonctionne très bien sous MVS (un truc à base de REXX) mais comme je suis rancunier, je cherche une autre solution à proposer car nous présentons notre métier aux repreneurs mi-Mars. On part d'un CSV avec une colonne de codage d'environnement, je cherche à séparer ce fichier en quatres autres distinct en fonction du code en question qui correspond en gros au suffixe de la base de donnée installée sur l'une des quatres machines. Quelqu'un aurait une solution simple (outil Windows, Regex Uedit ou Notepad++, ...) ? Pas de macro excel svp, je suis méchant mais pas à ce point Merci par avance. Lien à poster
TeKa 8 Posté(e) le 25 février 2013 Partager Posté(e) le 25 février 2013 Un grep et un cut chaîné sous Unix/Linux ? Lien à poster
UniKorn 2 Posté(e) le 25 février 2013 Auteur Partager Posté(e) le 25 février 2013 L'environnement est accessible uniquement sous Windows, malheureusement Lien à poster
DEF 27 Posté(e) le 25 février 2013 Partager Posté(e) le 25 février 2013 Un grep et un cut chaîné sous cygwin ? J'ai un peu de mal à visualiser. Tu as un exemple concret? Lien à poster
UniKorn 2 Posté(e) le 25 février 2013 Auteur Partager Posté(e) le 25 février 2013 Je n'ai pas été très clair, il faut dire. Le csv : A0;1111 B2;2222 E0;3333 ... A0 et E0 sont des BDD de la machine 1 B2 est une BDD de la machine 2 J'aimerais avoir un fichier par machine, en gros, avec fichier 1 select * from a0 where client = 1111; select * from e0 where client = 3333; fichier 2: select * from b2 where client = 2222; Lien à poster
TeKa 8 Posté(e) le 25 février 2013 Partager Posté(e) le 25 février 2013 Idée de goret : http://sourceforge.net/apps/mediawiki/notepad-plus/index.php?title=Column_Editing Ca te permet d'ajouter simplement le "select * from " devant la première colonne et de remplacer le ';' par " where client = " devant la seconde. Il y a plus intelligent, je sais, mais tu as mis Notepad++ dans la liste des solutions acceptées. Pour la séparation en 2 fichiers, tu le fais à coup de regexp sur la première colonne grâce à N++. Lien à poster
UniKorn 2 Posté(e) le 26 février 2013 Auteur Partager Posté(e) le 26 février 2013 Ouais, je pense que je ne vais pas avoir d'autre choix que de me plonger dans les scripts et regex Notepad++. Lien à poster
Loone 22 Posté(e) le 27 février 2013 Partager Posté(e) le 27 février 2013 En perl sous windows, ça ne saurait être trop compliqué : http://www.activestate.com/activeperl Tu te bases sur le 0 de A0 pour savoir de quelle machine tu parles ? Avec un split sur le signe ";" pour chaque ligne, tu récupères tes deux valeurs dans $BDD et $client, tu tronques ton $BDD pour déterminer dans quel fichier écrire , et apres tu concatènes les différents éléments, en intercalant les phrases communes, du style : "select * from ".$BDD." where client=".$client ou dans un autre langage dispo sous windows ... ... ... Lien à poster
Dude76 19 Posté(e) le 27 février 2013 Partager Posté(e) le 27 février 2013 mouis, au titre, c'est immédiatement ce à quoi j'ai pensé : split. Ensuite, selon le contexte... Brutalement, je t'aurais proposé un petit programme C# lisant le fichier et réalisant ce split. Ça doit être également possible en powershell (comme ça, tu restes sous win et avec un côté script). Lien à poster
Messages recommandés