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

Accès aux données Discussion :

[C#] Choix d'une petite base de données


Sujet :

Accès aux données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2008
    Messages : 612
    Par défaut [C#] Choix d'une petite base de données
    Bonjour,
    --------

    Je suis pour l'instant un peu contraint de mener plusieurs programmes de front. Pour l'un d'eux (qui sort de mes domaines habituels), j'ai besoin de me construire une sorte de petite base de données, avec :

    - Sauvegarde dans deux fichiers (2 "bases" : "clients" et "factures")
    - Accès à partir d'un seul PC, et pas de partage des accès nécessaire
    - Requêtes sur le contenu des deux fichiers.

    J'ai fait quelques essais concluants avec Linq to XML dans le cadre d'un autre programme, mais je m'interroge sur le fond même du problème :

    Est-ce judicieux de créer des documents XML pour sauver les mini-bases de données, ou vaut-il mieux utiliser des fichiers d'un autre type?

    Je m'interroge en fait sur la façon la plus optimale de travailler : sérialisation et désérialisation d'une classe personnelle? Travail direct sur fichiers XML avec load? Lancement d'un serveur SQL? Autre solution?

    Je cherche le maximum de rapidité de traitement avec le minimum de ressources (le serveur SQL me semble démesuré pour une base à accès par un seul programme). Linq 2 XML semble génial et simple à mettre en oeuvre, mais je me demande s'il est judicieux de créer toute une structure XML alors qu'au final je n'ai besoin pour cette application de n'être compatible avec personne, ni avec aucun format standard.

    Quelle est la bonne piste?

    Merci d'avance
    Claude

  2. #2
    Membre expérimenté
    Avatar de (Benoit)
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Novembre 2008
    Messages : 184
    Par défaut
    J'ai déjà eu cette problèmatique. A l'époque tout ce que j'avais sous la main pour faire ça c'était... Access. N'empêche ça répond à ton besoin : tu as tes données sous forme de fichiers, tu peux faire des requêtes SQL dessus !

  3. #3
    Membre expérimenté Avatar de Gulix
    Inscrit en
    Septembre 2005
    Messages
    268
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2005
    Messages : 268
    Par défaut
    Pourquoi pas du SQLite ? Tu y accèdes comme à une base de données, mais au lieu d'attaquer un serveur, tu attaques un simple fichier
    "L'univers... on croit qu'il est infini mais quand on arrive au bout un gorille géant vous balance des tonneaux."
    Phillip J. Fry

    http://www.gulix.fr/

    BlindShark, Logiciel de Blind Test - Pull N' Bounce - Jeu XNA

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par Gulix Voir le message
    Pourquoi pas du SQLite ? Tu y accèdes comme à une base de données, mais au lieu d'attaquer un serveur, tu attaques un simple fichier
    +1 !
    1000 fois mieux qu'Access...
    Plus d'infos : http://sqlite.org/
    Provider ADO.NET : http://sqlite.phxsoftware.com/

  5. #5
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Par défaut
    Citation Envoyé par ClaudeBg Voir le message
    Bonjour,
    --------
    J'ai besoin de me construire une sorte de petite base de données, avec :
    - Sauvegarde dans deux fichiers (2 "bases" : "clients" et "factures")
    - Accès à partir d'un seul PC, et pas de partage des accès nécessaire
    - Requêtes sur le contenu des deux fichiers.
    Claude
    Bonjour,
    Si l'objectif est de ne pas recréer la roue, il vaut mieux partir pour un SGBDR qui offre la plupart des fonctionalités des bases de données modernes actuelles.
    Qu'est ce qui va se passer si ton bosse ou ton client te demande d'ajouter telle ou telle autres fonctionnalités, requêtes et états ?
    Tu vas te retrouver avec une application à recréer quelle perte de temps !
    Pour ma part, je te conseillerais d'utiliser une version lite de SQL Serveur 2005. Merci pour votre comprehension.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  6. #6
    Membre émérite
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    565
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Février 2006
    Messages : 565
    Par défaut
    Une autre alternative à SQLite, c'est Microsoft SQL Server CE

  7. #7
    Membre très actif
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2008
    Messages : 612
    Par défaut
    Bonjour,

    Merci pour les conseils.

    Mon but n'est pas de faire une application commerciale, ni pour un patron.
    C'est simplement pour rendre service à un ami qui trouve les programmes commerciaux trop compliqués et trop "blocants" (impossible de modifier des factures déjà établies par exemple). Il en a déjà acheté 2, et ça ne lui convient pas. Son ancien programme (Datafakt) ne tourne plus sur son nouveau PC et la nouvelle version n'est plus aussi simple que l'ancienne. Il a aussi esssayé des logiciels gratuits, mais de nouveau, rien de concluant.

    Il veut un petit programme facile d'emploi, permettant juste d'entrer et de chercher des clients, et de rédiger ou modifier une facture pour les dits clients, et c'est pourquoi il voudrait que ce petit programme fonctionne "à la carte", avec une interface utilisateur agréable et rapide.

    Pour ma part, je veux bien lui rendre service en lui écrivant un petit programme C# adapté, mais je n'ai pas vraiment envie d'apprendre de nouveaux supports ni logiciels, ni d'acheter une licence pour un utilitaire quelconque.

    C'est pourquoi je voulais savoir la meilleure façon de sauver sur disque deux fichiers sur lesquels faire des requêtes linq à partir du C#.

    La maintenance ne pose pas problème, j'ai déjà fait un programme de ce genre pour un autre ami (en VB6), et je n'ai du le modifier que 2 fois en 3 ans, et juste pour des petites améliorations. Une fois le programme au point, on n'y touchera plus.

    Par contre, si j'utilise un programme dédié que je n'utiliserais pour rien d'autre, le jour où il faudra faire une modification j'aurais oublié comment ça fonctionne et je devrais me farcir à nouveau toute la doc. Franchement, à tout prendre je préfère encore réinventer la roue

    Je vais donc préciser ma demande, parce que c'est vrai que ça peut prêter à confusion :

    Quelle est la meilleure méthode, à partir d'un programme en C#, pour créer deux fichiers sur lesquels faire ensuite des requêtes linq?

    Merci
    Claude

  8. #8
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Si tu as besoin de Linq il ne reste plus que 2 choix possibles (dans l'état actuel des choses en tous cas)
    - SQLite
    - SQL Server Compact
    A ma connaissance, ce sont les 2 seules bases de données fichier qui supportent Linq

  9. #9
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Si tu as besoin de Linq il ne reste plus que 2 choix possibles (dans l'état actuel des choses en tous cas)
    - SQLite
    - SQL Server Compact
    A ma connaissance, ce sont les 2 seules bases de données fichier qui supportent Linq
    Non, link peut s'appliquer à n'importe quelle source de données.
    Quelle subdivision de Link veux tu utiliser ?

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

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

Discussions similaires

  1. [C#] Choix d'une petite base de données
    Par ClaudeBg dans le forum Windows Forms
    Réponses: 33
    Dernier message: 16/01/2009, 13h43
  2. Quel SGBD choisir pour une petite base de donnée sur clé USB ?
    Par kedare dans le forum Décisions SGBD
    Réponses: 10
    Dernier message: 29/07/2008, 16h31
  3. Quel langage pour gérer une petite base de données d'employés ?
    Par cervi dans le forum Langages de programmation
    Réponses: 28
    Dernier message: 21/09/2007, 10h56
  4. Gestion d'une petite base de données
    Par vmal dans le forum Langage
    Réponses: 4
    Dernier message: 03/09/2006, 07h45
  5. [VBA-E]gérer une petite base de données
    Par massilia80 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 28/02/2006, 13h59

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