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

PHP & Base de données Discussion :

Question pour mysqlimport


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2006
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Question pour mysqlimport
    Bonjour,

    La situation
    Nous utilisons la commande "mysqlimport" pour charger un fichier CSV de 580 000 lignes dans une table temporaire de notre base de données MySQL.

    Chaque ligne du fichier (606 caractères par ligne) est insérée dans un champ texte. Par la suite, nous utilisons un script PHP pour "lire" chaque ligne selon la position et insérer les valeurs dans une autre table.

    Le problème
    Il semble que le fichier source contient des caractères spéciaux (ex: "N\", saut de ligne) ce qui ajoute un 607e caractère à la ligne du fichier texte et qui bousille notre script PHP de lecture/écriture...

    Question
    Est-il possible de retirer les caractères spéciaux lors de la commande mysqlimport ?? Il est impossible de modifier le fichier source puisqu'il provient d'un fournisseur externe.

    Est-ce un problème d'encodage de base de données ou de jeu de caractères ??? Si oui, quel encodage / jeu de caractère dois-je utiliser et où changer ces informations ?

    Merci de vos réponses !!

    Gilles Tanguay
    AlphaZero.net

  2. #2
    Membre éclairé Avatar de EIN-LESER
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 703
    Points : 778
    Points
    778
    Par défaut
    Le fichier source provient d'un client externe mais ne peux tu le télécharger sur ton serveur avant de réaliser ton insert?
    Dans ce cas un petit script PHP par exemple pour lui ôter les caractères indésirables et voila.
    Spécialiste des questions bêtes

    ”If you can't explain it simply, you don't understand it” (Ce que tu ne peux pas expliquer simplement, tu ne le comprends pas) Albert Einstein

    Si une reponse vous plait ou vous a aidé n'hesitez pas a voter pour

  3. #3
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    charger un fichier CSV
    CSV = Comma-Separated Values
    In french : Valeurs séparées par des virgules.

    Chaque ligne du fichier (606 caractères par ligne) est insérée dans un champ texte.
    Il n'y a donc qu'une seule valeur par ligne et ce n'est pas un fichier CSV !

    Par la suite, nous utilisons un script PHP pour "lire" chaque ligne selon la position et insérer les valeurs dans une autre table.
    Puisqu'il semble nécessaire d'utiliser un programme PHP pour diviser chaque ligne en données utiles, pourquoi ne pas faire ce boulot avant d'insérer en BDD ?

    Il semble que le fichier source contient des caractères spéciaux (ex: "N\", saut de ligne)
    Vous pouvez donner le début du fichier (quelques lignes) pour qu'on comprenne mieux ?
    Si besoin, anonymisez les données en respectant la structure.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

Discussions similaires

  1. BTS Info de Gestion passé aujourd'hui question pour SQL
    Par red210 dans le forum Décisions SGBD
    Réponses: 11
    Dernier message: 29/05/2005, 14h48
  2. [bochs] Question pour un kernel de base...
    Par hudson dans le forum Assembleur
    Réponses: 2
    Dernier message: 24/02/2005, 12h07
  3. Petite question pour Backup
    Par chicken92000 dans le forum Administration
    Réponses: 2
    Dernier message: 16/09/2004, 16h10
  4. [MIB] Questions pour construire une mib
    Par fadoua dans le forum Développement
    Réponses: 4
    Dernier message: 11/03/2004, 10h47

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