Alors j'aimerai concevoir un programme en c++ qui effectue une extraction de BD vers un fichier plat (format Text)?
c'est quoi la démarche la plus optimale ?
Alors j'aimerai concevoir un programme en c++ qui effectue une extraction de BD vers un fichier plat (format Text)?
c'est quoi la démarche la plus optimale ?
L expose de ton probleme ne m est pas clair , personnelement
Je ne vois pas bien l'utilité de stocker le contenu d'une DB dans un fichier texte mais bon... Espérons déjà que la base n'est pas très grande.
Donc pour procéder, rien de plus simple :
Tu fais une requête "SELECT * FROM table" pour toutes tes tables.
Tu parcours ton curseur SQL pour chaque requête et tu mets toutes les lignes dans ton fichier texte.
Juste ,
mais mon programme et plus complexe , il faut que mon programme puisse lire les arguments d'entrée du genre $prg -refg
et produire pour l'option r un fichier et e un deuxième fichier différent du premier aux choix de l'utilisateur .
n'y a-t-il pas un code source qui aurait déjà implémenter ce genre de fonction .
Merci bcp pour vos réponse.
Excuse-moi mais je ne comprends pas tes arguments d'entréeEnvoyé par Sceener
mon programme doit accepter des argmuents d'entrées tel que par exemple la commande find d'unix accepte des arguments .
$find -name "*.txt" -print
Alors là, je vois plus du tout le rapport avec la base de donnéesEnvoyé par Sceener
.
Donc, si je résume (de ce que je crois comprendre) :
tu veux extraire une database (ou une partie) dans un fichier texte et effectuer des recherches au sein de ce fichier ? C'est le même programme qui doit extraire et parser le fichier texte ? Et ton exe doit être capable de comprendre des commandes DOS et UNIX ?
Il manque une ou deux precisions, comme le type de DB, mais il n'y a pas 50 solutions si tu veux pas utiliser les outils courant, d'exportation de DB en CVS ou autre.
- Tu analyses tes arguments
- Tu te connectes à la base
- Tu executes ta requete en fonction des arguments
- Tu enregistres le resultat
La difficulté principale va résider dans l'analyse des arguments, et l'execution de la requete en consquence, si tu veux qu'il gere beaucoup d'argument.
Mais sans precisions supplementaires, on peut pas trop t'aider.
A voir tes messages (ce n'est pas une critique), mais j'ai l'impression que c'est egalement flou dans ta tete.
Prends un papier, et defini toutes les possibilité que tu veux traiter.
genre:
-Enregistrer seulement une table, par exemple: -t nom_table
-Enregistrer seulement un champs dans une table, par exemple : -tc nom_table nom_champs
-Enregistrer plusieurs champs d'une meme table
-...
Apres tout ce qui est connexion, et ecriture c'est pas compliqué.
Mais bon, je le repete, il y a des outils pour exporter en CVS, et faire ce genre de choses, donc si c'est une action que tu dois faire qu'une fois, il est peut-etre preferable de les utiliser.
Merci pour vos réponses .
je m'explique d'avantage , je croyais que ce genre d'automate était courant c'est pour ça que j'étais bref dans mes propos.
le programme est un automate qui doit se lance à une fréquence régulière ou à la demande sans action de l'utilisateur pour garantir la cohérence des données extraites dans les fichiers qui serviront d'alimenter d'autres bases externes.
les arguments justement c pour les exploitants qui leurs permettront de produire que certaines fichiers et pas la totalité.
je me dis que de tel programme leur code source est déjà exisant sur le net ?
j'éspère que là est plus clair mnt.
Partager