IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PostgreSQL Discussion :

Importation de données postgresql


Sujet :

PostgreSQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2003
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2003
    Messages : 52
    Points : 59
    Points
    59
    Par défaut [Résolu]Importation de données postgresql
    Bonjour à tous,

    Je suis à la recherche d'une procédure d'importation de données dans une base postgresql.

    J'ai à ma disposition un fichier .txt qui resemble à :

    00001948191032ADRENAL CORTICOSTEROIDS
    00001948191268TOPICAL STEROIDS
    ..........................
    ..........................

    J'ai comme information que ces données vont dans 3 champs de la table

    1er_champ NOT NULL num (10)
    2eme_champ NULL char(10)
    3eme_champ NULL char(52)

    Mais le problème est que mon fichier n'a pas de délimiteur (genre ; | ) et il y a une grosse quantitié de données.
    En fait je pense qu'il faudrait que mon fichier ressemble à :

    0000194819 ; 1032 ; ADRENAL CORTICOSTEROIDS
    0000194819 ; 1268 ; TOPICAL STEROIDS


    J'ai essayé la fonction COPY (table) FROM (fichier.txt)
    mais ça me répond que la value est trop longue pour le type num(10).

    Comment faire à votre avis ?

    [/quote][/i]
    C'est au pied du mur que l'on voit le mieux le mur!!!!!

  2. #2
    Membre averti
    Inscrit en
    Octobre 2003
    Messages
    266
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 266
    Points : 318
    Points
    318
    Par défaut
    Pour ma part, je te propose de reformater ton fichier avec un séparateur.

    Pour cela, on utilise gawk. Si tu es sous linux, il est installé par défaut. Si tu es sous Windows, je t'invite à le télécharger ici Gawk Win32 3.11 binaries avec la ligne de commande suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gawk '{ print substr($0,1,10) ";" substr($1,11,4) ";" substr($0,15); }' datasource.txt > resultat.txt
    tu obtiendras un zoli fichier resultat.txt sous la forme : 0000194819;1268; TOPICAL STEROIDS.

    Pour le reste, cela ne devrais pas poser de problème avec la commande COPY.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2003
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2003
    Messages : 52
    Points : 59
    Points
    59
    Par défaut
    Merci pour ton aide Krapulax.

    C'est cool, ça fonctionne.

    A bientôt
    C'est au pied du mur que l'on voit le mieux le mur!!!!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Importer des données sqlite dans une BDD Postgresql
    Par flilou dans le forum PostgreSQL
    Réponses: 0
    Dernier message: 18/09/2013, 11h53
  2. Importer une base de données PostgreSQL
    Par riyad25h dans le forum Débuter
    Réponses: 1
    Dernier message: 08/05/2013, 14h54
  3. importer les données de excel vers postgresql
    Par ebang dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 08/08/2006, 08h47
  4. [CR]Importer des données d'une feuille excel
    Par rolan dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 17/12/2004, 22h32
  5. Importer des données dans sql server avec DELPHI ???
    Par moutanakid dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 11/08/2004, 17h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo