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

SQL Procédural MySQL Discussion :

Import txt longeur fixe


Sujet :

SQL Procédural MySQL

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 27
    Points : 25
    Points
    25
    Par défaut Import txt longeur fixe
    Bonjour,

    j'aurais besoin d'importer un fichier txt, mais le pb c'est que celui ci est de longueur fixe ...
    je ne vois pas trop comment faire ... j'ai lu la doc sur la fonction LOAD DATA mais apparemment ca n'a pas l'air de le faire ...

    est ce possible directement en SQL ou faut il utiliser une petite moulinette pour creer un délimiteur avant ?
    si oui existe t'il des moulinette toute faite qui font ca (autant ne pas réinventer la roue ...) ?


    merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    390
    Détails du profil
    Informations personnelles :
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 390
    Points : 465
    Points
    465
    Par défaut
    salut
    bonne année 2008 a toi.


    Je comprends pas ce qui te gène dans la commande load data. Tu n'a pas d'accés aux serveurs autre que par mysql?

    Sinon je ne connais pas de moulinettes toutes pretes pour faire ceci. Un script personalisé fera l'affaire mais tu perdra du temps par rapport au load data.


    Cordialement.
    La connaissance s'accroit lorsqu'on la partage.

  3. #3
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 016
    Points : 23 707
    Points
    23 707
    Par défaut
    Bonjour,
    C'est possible, mais pour que ça marche, il faut que la description des colonnes de la table cible corresponde, en longueur de caractère, à la longueur fixe de chacun des champs.
    Ainsi, il faut avoir déclaré les colonnes int(6), char(12)... pour un fichier avec 6 caractères sur le premier champ, 12 sur le second...
    Voici ce que dit la documentation MySQL à ce propos :
    Si les valeurs FIELDS TERMINATED BY et FIELDS ENCLOSED BY sont vides toutes les deux (''), un format à taille de champ fixe est utilisé. Avec ce format, aucun délimiteur n'est utilisé entre les champs. Au lieu de cela, les valeurs des colonnes sont écrites avec leur configuration d'affichage. Par exemple, si une colonne a été déclarée INT(7), la valeur de cette colonne sera écrite avec 7 caractères. Lors de la relecture, la valeur de la colonne sera obtenue en lisant à nouveau 7 caractères. Ce format à taille fixe affecte la gestion de la valeur NULL; voyez plus loin pour cela. Notez que ce format ne fonctionne pas avec les jeux de caractères multi-octets.
    Et voilà le lien vers la documentation.

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 27
    Points : 25
    Points
    25
    Par défaut
    ça a l'air d'être une bonne piste ...
    je vais regarder de ce coté la

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 06/12/2007, 15h11
  2. Probleme d'importation txt
    Par mick77 dans le forum Excel
    Réponses: 7
    Dernier message: 13/06/2007, 11h08
  3. [VBA-E] Importer *.txt et séparer en deux
    Par franck.automaticien dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 08/06/2007, 09h46
  4. Problème Format Numérique lors d'import txt
    Par clemasson dans le forum Access
    Réponses: 3
    Dernier message: 11/10/2006, 11h31
  5. [VBA-E] .XLS vers .TXT (enregistrement fixe)
    Par turbo74 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 17/03/2006, 15h45

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