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

Documents Java Discussion :

export fichier csv


Sujet :

Documents Java

  1. #1
    Candidat au Club
    Inscrit en
    Mai 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 6
    Points : 3
    Points
    3
    Par défaut export fichier csv
    bonjour
    j'ai un gros soucis, étant novice en java et sql j'aurais besoin d'un peu d'aide si possible.
    Je voudrais ouvrir lire un fichier csv, le comparer à une table sql, et rajouter dans cette même table, tous les champs manquants. En clair la mettre à jour par rapport au fichier csv.

    par avance merci
    bonne journée

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    940
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 940
    Points : 1 817
    Points
    1 817
    Par défaut
    Pour lire le csv il y a POI, pour accéder à une base de données JDBC.

  3. #3
    Membre habitué Avatar de Xavinou
    Inscrit en
    Mai 2005
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 135
    Points : 156
    Points
    156
    Par défaut
    Tu peux aussi importer les données de ton fichier csv dans une table temporaire et mettre à jour la table avec une requête SQL. L'avantage c'est que tu n'as pas beaucoup de code à ecrire, et que l'essentiel du traitement est délégué à ton SGBD.

  4. #4
    Candidat au Club
    Inscrit en
    Mai 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    oueh mais en fait vu que c'est pour un projet, le code est imposé !!lol

    donc il faut absolument que mon code java, ouvre lise compare et exporter

  5. #5
    Membre habitué Avatar de Xavinou
    Inscrit en
    Mai 2005
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 135
    Points : 156
    Points
    156
    Par défaut
    Pas de panique ! tu peux piloter le sgbd en java avec jdbc

  6. #6
    Membre expert
    Avatar de moritan
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2005
    Messages
    687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2005
    Messages : 687
    Points : 3 135
    Points
    3 135
    Par défaut
    Si je peux me permettre une réflexion tu na pas besoin forcément de réellement comparer les valeur de ta table et de ton csv.

    Je m'explique.
    tu lis ton csv ligne à ligne.
    pour chaque ligne tu construit un ordre SQL update tu l'exécutes et celon le résultat tu agis si le code retour est OK tu passes à la ligne suivante, sinon c'est que la ligne n'existe pas en base donc tu crée un ordre insert et tu le passe puis on recommence avec la ligne suivante.

  7. #7
    Candidat au Club
    Inscrit en
    Mai 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    ca ma l'air excellent tous ça, mais pour etre tout a fait franc, j'avoue ne pas trop savoir comment faire ?

    j'ai beau faire des recherches dessus, je ne trouve rien d'intéressant dessus.

  8. #8
    Membre expert
    Avatar de moritan
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2005
    Messages
    687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2005
    Messages : 687
    Points : 3 135
    Points
    3 135
    Par défaut
    Citation Envoyé par moncanard
    ca ma l'air excellent tous ça, mais pour etre tout a fait franc, j'avoue ne pas trop savoir comment faire ?

    j'ai beau faire des recherches dessus, je ne trouve rien d'intéressant dessus.
    Découpe déjà ton projet en module, essaie de modéliser ce que tu veut, une fois sur papier ça pose les idées.

    si on regarde rapidement ton besoin il te faut un lecteur fichier csv, un exécuteur de requète sql et de la glu autour de tout ça.

    Après à toi de voir selon la conplexité des table si vaut mieux monter tout ça à la main, ou si ça vaut le coup de prendre le temps d'utiliser des composants exitants mais tout dépend de ton contexte

  9. #9
    Candidat au Club
    Inscrit en
    Mai 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    ok ok bon je vais essayer de faire joujou

    merci bonne nuit

  10. #10
    Membre expert
    Avatar de moritan
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2005
    Messages
    687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2005
    Messages : 687
    Points : 3 135
    Points
    3 135
    Par défaut
    Citation Envoyé par moncanard
    ok ok bon je vais essayer de faire joujou

    merci bonne nuit
    ok n'hésite pas si tu as d'autres questions...

  11. #11
    Membre habitué Avatar de Xavinou
    Inscrit en
    Mai 2005
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 135
    Points : 156
    Points
    156
    Par défaut
    Si je peux me permettre ;-) executer une requête pour chaque ligne du fichier CSV, ça risque de ramer si le fichier est volumineux. De plus, ça t'oblige à parser toi même le fichier alors que la plupart des SGBD savent le faire.

    Avec quelques requêtes SQL lancées par JDBC tu peux t'en tirer :

    Si tu as une table T(ID, A, B, ...)

    - Création d'une table BUFFER(ID, A, B, ...), que tu peux remplir avec une instruction du genre CSVREAD :
    insert into BUFFER select * from CSVREAD('fichier.csv')

    - Suppression des lignes de T qui sont dans BUFFER
    delete from T where ID in (select ID from BUFFER)

    - Ajout des lignes de BUFFER dans T
    insert into T select * from BUFFER

  12. #12
    Membre expert
    Avatar de moritan
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2005
    Messages
    687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2005
    Messages : 687
    Points : 3 135
    Points
    3 135
    Par défaut
    effectivement je m'était placé du point de vu java, par contre l'instruction CSVREAD ne me semple pas être un standard du SQL donc non portable à tout type de base sql.

    Pour ce qui est du fichier volumineux on peut faire en sorte de palier au problème et de toute façon c'est le même pb avec ta solution c'est juste que le pb est déplacé vers la BDD.

  13. #13
    Membre habitué Avatar de Xavinou
    Inscrit en
    Mai 2005
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 135
    Points : 156
    Points
    156
    Par défaut
    effectivement je m'était placé du point de vu java, par contre l'instruction CSVREAD ne me semple pas être un standard du SQL donc non portable à tout type de base sql.
    Oui, mais j'avais précisé "...alors que la plupart des SGBD savent le faire" ;-)

    D'ailleurs il y 'a une solution encore moins portable (et plus facile à mettre en oeuvre) avec l'instruction MERGE du SGBD H2 : http://www.h2database.com/html/frame...mmar.html&main

    Pour ce qui est du fichier volumineux on peut faire en sorte de palier au problème et de toute façon c'est le même pb avec ta solution c'est juste que le pb est déplacé vers la BDD.
    Non ce n'est pas le même problème parce que le SGBD ne passe pas par JDBC pour remplir les tables et à priori la lecture et les insertions sont optimisées...

  14. #14
    Membre expert
    Avatar de moritan
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2005
    Messages
    687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2005
    Messages : 687
    Points : 3 135
    Points
    3 135
    Par défaut
    oui mais on s'éloigne de JAVA...

    sinon je parlé plus d'un problème d'espace mémoire pour le parse du fichier et donc si le fichier et vilumineux la BDD aussi aura à le chargé en mémoire.

    Par contre effectivement si il y a dses contrainte de performance, très forte peut-être que JDBC n'est pas adapté, mais entre les traitements en batch et les prepareStatements, je trouve les performances acceptable.

  15. #15
    Candidat au Club
    Inscrit en
    Mai 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    je vais essayer

    merci encore et à la prochaine lol

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

Discussions similaires

  1. Export fichier csv
    Par Jinkas dans le forum Import/Export
    Réponses: 3
    Dernier message: 10/02/2011, 14h07
  2. Export fichier csv
    Par kamnouz dans le forum Langage
    Réponses: 9
    Dernier message: 20/12/2010, 14h14
  3. [phpMyAdmin] Encodage et importation / exportation fichier CSV
    Par mikael2235 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 01/06/2010, 22h02
  4. [CSV] export fichier csv IE pas option enregistrer sous
    Par yveslens dans le forum Langage
    Réponses: 2
    Dernier message: 05/07/2009, 22h24
  5. Réponses: 1
    Dernier message: 26/03/2007, 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