données fichier texte vers BDD

données fichier texte vers BDD - SQL/NoSQL - Programmation

Marsh Posté le 23-01-2007 à 23:29:13    

Bonjour,  
j'ai un serveur linux sur lequel est installé une BDD en postgresql. Disons que j'ai un fichier nommé fichier.txt
J'ai des noms classés comme cela:
Jacques
Jean
Paul
...
 
Ce fichier est dynamique, c'est a dire qu'il se met a jour (toutes les minutes environ). j'aimerais réaliser un programme qui permette de
consulter ce fichier, puis d'ajouter dans la BDD les noms présents dans le fichier.  
Comme ca ca parait simple, j'ai des connaissances en php, sql et C , mais je ne sais pas par ou commencer pour faire mon programme.
Est-ce un programme en SQL, en C , ou une page php, qui dans ce dernier cas ne pourra pas se lancer automatiquement (toutes les minutes par exemple)..
Pouvez -vous m'orientez svp ??
d'avance merci :hello:  
 
PS: il faut également que le programme fasse un test sur la BDD, de sorte que si un nom est déja présent dans la BDD, qu'il ne le rajoute pas une seconde foi. Et ça, je n'ai aucune idée de l'instruction à utiliser...

Reply

Marsh Posté le 23-01-2007 à 23:29:13   

Reply

Marsh Posté le 24-01-2007 à 08:39:32    

:hello:  

Citation :

j'ai des connaissances en php, sql et C , mais je ne sais pas par ou commencer pour faire mon programme [...] je n'ai aucune idée de l'instruction à utiliser

Avant de choisir le langage et de se focaliser sur les instructions à utiliser, il serait bien de définir l'algorithme en pseudo-code, et la suite découlera sans peine.
En l'occurence, on aurait :

Connection à la base
Ouverture du fichier
Boucle tant qu'il y a des enregistrements dans le fichier
  Select pour voir si le nom existe
  S'il n'existe pas
     Insert
  Fin si    
Fin Boucle
Fermeture du fichier
Déconnexion à la base


Reply

Marsh Posté le 24-01-2007 à 09:43:26    

Sorti du petit programme "fait main", ton programme semble être compatible avec un format genre "SQL Loader".
 
Regarde ce qu'il y a comme outils dans PostGre pour faire de l'import de masse de données.
 
Avec Oracle, un petit coup de loader avec les bon paramètres, et ton fichier est mergé avec la table en une fraction de secondes, de la façon la plus optimisée possible, et sans une ligne de code.

Reply

Marsh Posté le 24-01-2007 à 19:48:27    

Merci a tous,
j'ai trouver l'outil pgloader qui à l'air de faire comme tu dis MagicBuzz.
avant cela, je vai me penché un peu sur un programme qui ferait l'équivalent ,mais toutes les 30secondes par exemple( pour garantir la mise a jour des données).
J'ai entendu que le C intégrait des options de connexion et d'insertion a une BDD...
vous en pensez quoi ?

Reply

Marsh Posté le 25-01-2007 à 00:07:27    

Si t'es fluent en C, why not.
 
Sinon, t'auras moins de mal à la faire en VBS, puisque ça ne nécessite qu'une trentaine de lignes, un simple éditeur de texte, et pas de compilation.
 
Pour ce qui est des perfs, vu le traîtement, aucun intérêt de mettre de côté VBS.
 
Donc voit uniquement si tu te sens productif en C ou non.

Reply

Marsh Posté le 23-03-2007 à 20:26:47    

Ou sinon tu fais une table externe.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed