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

Android Discussion :

SQLite et import csv


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de Claythest
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    558
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 558
    Par défaut SQLite et import csv
    Bonjour tout le monde,

    Ne trouvant de réponse nulle part, j'en appelle à vous...

    J'aimerai charger une grosse base de données (quelques centaines de milliers de lignes) afin de la rendre disponible pour mon appli. Ces données, je les ai au format csv, ce qui normalement est le plus performant pour charger une BD.

    J'ai donc pensé utiliser la base de données fournie SQLite (classe SQLiteOpenHelper).

    Mais voila, quelle est la commande SQL (ou code Java ?) qui me permettrait d'importer ce csv sans devoir lire moi même le fichier et surtout insérer ligne par ligne dans ma table ?

    J'ai testé la manière bateau, ouvrir le fichier, le lire ligne par ligne, et insérer ces lignes dans la BD, mais j'en ai pour 20 minutes de calcul ! Il me faut à tout prix optimiser ça !

    Avez-vous une idée ?

    Merci d'avance pour toute aide ou toute piste !

  2. #2
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Bonjour,

    Je ne m'y connais pas beaucoup sur le sujet, mais il existe une commande sous sqllite pour importer des fichiers csv.

    http://www.sqlite.org/cvstrac/wiki?p=ImportingFiles

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2010
    Messages
    385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 385
    Par défaut
    Bonjour ,

    Je suis actuellement sur le même genre de recherche (import CSV / Txt / .db).

    Pour le CSV il semblerais que des bibliothèques existe pour simplifier la tache , mais je n'ai pas encore réussi a mettre en place ...

    SuperCSV est sur lequel j'ai essayer de faire des essayes ce matin mais ... sans trop de succès (les tutoriaux sont mince et peu clair mais si tu peu trouver a solutionné )

    http://sourceforge.net/projects/supercsv/

    http://www.xinotes.org/notes/note/1379/


    C'est bien dommage que ce genre de "demande" ne soit pas pris en compte dans les livres tels que "Developpement Android" , et les Formation Video2brain (qui est au passage un passage sur les chapitre du livre ... )

    Cordialement ,

  4. #4
    Membre chevronné Avatar de Claythest
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    558
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 558
    Par défaut
    J'ai finalement opté pour une autre stratégie, à savoir changer de SGBD.
    Car le SQLite embarqué dans android, en plus de rendre impossible l'importation CSV, il ne peut pas posséder de tables avec plus de 10 000 lignes... Or dans mon application, j'en ai besoin de 4 fois plus...

    Je suis passé sous H2, l'import CSV fonctionne et est relativement plus rapide, et me permet en plus de gérer une BD de la taille qui me convient.

  5. #5
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Bonjour,

    il ne peut pas posséder de tables avec plus de 10 000 lignes.
    Juste par curiosité d'où tires tu cette informations ?
    Personnellement il me semblait que la limite était celle imposé par sqlite soit 9223372036854775807.

  6. #6
    Membre chevronné Avatar de Claythest
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    558
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 558
    Par défaut
    Je n'ai pas trouvé de source "fiable", mais j'ai trouvé plusieurs site où certains utilisateurs faisaient référence à cela.

    Par exemple :

    http://forums.oracle.com/forums/thre...203&tstart=135

    http://stackoverflow.com/questions/5...its-in-android

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2010
    Messages
    385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 385
    Par défaut
    H2 est compatible Android ?

    Pour les 10.000lignes il me semble que c'est plus effectivement (je suis sur 38.000enregistrement moi). Après peut être que pour une optimisation de temps il faille mieux en mettre 10.000 c'est possible.

    Tu peux nous faire un petit briefing sur H2 au passage, je ne connais pas du tout , mais peu être intéressant.

    Cordialement ,

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

Discussions similaires

  1. Import CSV ou XML dans SQLITE
    Par IPreferCSharp dans le forum VB.NET
    Réponses: 21
    Dernier message: 16/10/2013, 12h38
  2. SQLite avec VB.NET : commande pour importer CSV
    Par Aukys dans le forum VB.NET
    Réponses: 3
    Dernier message: 01/11/2010, 14h16
  3. Réponses: 7
    Dernier message: 11/05/2010, 13h28
  4. import csv décimale
    Par gIch dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 13/12/2005, 12h46
  5. Importation CSV vers base de données
    Par Brice Yao dans le forum Bases de données
    Réponses: 1
    Dernier message: 29/06/2005, 13h42

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