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

  1. #1
    Membre habitué
    Commandes C# pour importer un fichier texte (type csv) dans une table SQLite
    Bonjour à tous

    Je bloque sur cette question qui, si la solution existe, ne doit pas être très compliquée ...

    En utilisant les commandes de System.Data.SQLite, quelles lignes de codes C# faut il écrire pour remplir une table d'une base SQLite directement à partir d'un fichier structuré (type .txt avec des séparateurs) ?

    Merci beaucoup pour votre aide !!!

  2. #2
    Membre régulier
    Bonjour,

    J'ai cherché, il y a quelques mois, un moyen pour importer les données d'un csv dans ma base Sqlite. Je n'ai pas trouvé de solution simple comme un COPY TO ou COPY FROM sur PostgreSQL. Du coup, dans mon code, je traite mon csv ligne par ligne puis je prends chaque donnée de la ligne.

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    string[] ligne = System.Text.RegularExpressions.Regex.Split(csv, "<sep>");
    foreach(string ligneCsv in ligne)
    {
         string[] donnees = System.Text.RegularExpressions.Regex.Split(ligneCsv, ";");
    }

  3. #3
    Membre habitué
    Bonjour Kentin,

    Merci pour ton message, c'est bien ce qui me semblait, aucune solution "clé en main" n'existe ...

    Ton code me parait bien mais l'objet ligne ne risque t-il pas de prendre trop de place en mémoire (et générer une erreur) pour les gros fichiers csv

  4. #4
    Membre régulier
    Pour l'instant je n'ai pas eu d'erreur de ce type avec un fichier qui contient à peu prés 3000 lignes sur un appareil avec 128Mo de RAM. Mais je pense que cela dépend du matériel sur lequel se trouve ta base de données.

  5. #5
    Membre habitué
    Je suis un PC récent, mais j'envisage plusieurs centaines de milliers de lignes ...

    Je te tiens au courant ...

  6. #6
    Nouveau membre du Club
    Bonjour,

    Je suis également intéressé par cette fonction.
    J'ai pu voir qu'il existait une commande .import sous SQLite diretement (le Shell, je crois qu'il appel ça comme ça).

    Ce qui m'étonne c'est que le DLL pour Visual Basic ne reprendrait pas cette commande ?!
    J'envisage également de traiter des centaines de milliers de lignes.

    vladvad ça donné quoi alors l'utilisation de cette commande ?

###raw>template_hook.ano_emploi###