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

C# Discussion :

Sqllite ou MariaDB


Sujet :

C#

  1. #1
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut Sqllite ou MariaDB
    Bonjour

    Je dois faire une petite application Stand-Alone facile a installer en cSharp
    Mais elle doit pouvoir gerer une petite base de données < 10 MB

    J'ai l'habitude d'utiliser MSSql ou MySql

    Maisdans le cas present je migrerais bien vers MariaDB ou peut etre SqlLite pour faire plus simple encore

    Avez-vous de l'expérience a ce sujet ?

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2010
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

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

    Informations forums :
    Inscription : Août 2010
    Messages : 479
    Par défaut
    Après quelques flottements avec SQLite dont j'ai oublié les détails je suis passé sur SqlCe. Je l'utilise dès que nécessaire pour de petites appli qui nécessitent une base de données et ça fonctionne nickel.

  3. #3
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Merci Lead8209

    Je ne connaissais pas mais c'est peut etre la bonne piste effectivement sachant que mon environnement de base c'est SQL Server

    D'autres amateurs ?

  4. #4
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    salut Olivier,

    SQLite, j'ai joué avec... je l'utilise pour certains clients.. ce qui est chiant avec SQLite s'est le coté qu'il faut pas se tromper de DLL lors du déploiement
    car t'as de la DLL 32/64bits et après pour Framework 2.0 / 3.5/ 4.0....

    En dehors de celà, s'est quand même bien...

    JE me demande si couplé avec Entity Framework (que je te conseilles... appelles moi si tu veux en parler) ça ne serait pas un bon couple quand même...

    Je crois qu'il y a aussi MongoDB mais je n'ai jamais utilisé...

  5. #5
    Membre très actif
    Avatar de charouel
    Homme Profil pro
    Freelance
    Inscrit en
    Mars 2009
    Messages
    618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 618
    Billets dans le blog
    9
    Par défaut
    SQLlite mieux j'ai déjà travailler avec

  6. #6
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Salut Nicolas

    Entity Framework : Berk !
    J'ai constitué ma propre librairie et générateur de code pour DB (Déja utilisé en PstGress, MySQL, SqlServer)

    Ce qui me preoccupe ici c'est surtout dans l'ordre

    1- Facilité d'installation de la couche DB sur la machine
    2- Compatibilité ADO
    3- Performance

  7. #7
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    Bah j'aime bien Entity framework pour me simplifier la vie

    sinon,

    SQLite vs SQLCE

    ca devrait te donner des billes

  8. #8
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Merci Nicolas

    De fait !

    voila une excellente réference que tu a trouvé là

    Allez ! je vais faire un pas en avant vers SQLCE

  9. #9
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Pour info, Microsoft a arrêté son support de SQL CE à partir de Visual Studio 2013. Quand j'ai commencé un nouveau programme perso, au moment où je voulais choisir mon EntityFramework avec SQL CE sous ma version express, je me suis aperçu avec stupéfaction que SQL CE ne figurait pas dans la liste des providers.

    Apparemment, Microsoft veut remplacer SQL CE par SQL server "LocalDB" pour les bases de données embarquées. LocalDb est une sorte de SQL server express avec très peu de configuration et la possibilité d'une installation silencieuse pour la partie moteur. Il n'empêche que l'install de la version actu de LocalDb fait quand même 43 Mo.

    En tant qu'utilisation BDD embarquée par d'autres utilisateurs je n'ai pas trouvé beaucoup de choses sur le net...

    Je suis en train de faire mon programme perso avec du coup pour l'expérimenter...

  10. #10
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    cela dit,

    SQL compact Edition (CE) est gérée jusqu'en 2021... ça laisse un peu de marge quand même...

    SQLite présente une alternative très correcte également si besoin...

    Moi, le fait d'avoir une installation à faire est "insupportable" pour de la base "compact"... en effet, bon nombre de clients ne sont
    pas administrateur de leur machine et souvent, installation ==> Base de registre ou service (même si local)...

    Donc pour moi, je maintiens ==> SQLCE / SQLite sont des choix pertinents...

    J'ai quand même une préférence pour SQLCE pour la simplicité de l'installation et pour la non chiant-lit du déploiement sur différentes machines...

    (de toute façon, je compile tout en x64 comme ça, je ne suis plus emmerdé avec les programmes x64 tant qu'il y a du x86 dans le monde de l'entreprise)

  11. #11
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par theMonz31 Voir le message
    cela dit,

    SQL compact Edition (CE) est gérée jusqu'en 2021... ça laisse un peu de marge quand même...

    SQLite présente une alternative très correcte également si besoin...

    Moi, le fait d'avoir une installation à faire est "insupportable" pour de la base "compact"... en effet, bon nombre de clients ne sont
    pas administrateur de leur machine et souvent, installation ==> Base de registre ou service (même si local)...

    Donc pour moi, je maintiens ==> SQLCE / SQLite sont des choix pertinents...
    A vrai dire, j'aurais bien aimé utiliser SQLCE en effet, car je te rejoins complètement sur l'installation supplémentaire de quelque chose sur la machine client. Mais dans ce cas si je voulais choisir EF, il aurait fallu que je fasse du pure "code first" car impossible d'utiliser le "model first" puisque SQL CE n'est plus reconnu par VS 2013. C'est d'ailleurs ça qu'il faut savoir justement si on s'oriente sur un couple BDD/EF.

  12. #12
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Bonjour et Merci a Tous

    Nicolas : tu voulais dire "de toute façon, je compile tout en x86 " je suppose, sinon je ne comprends pas bien la phrase

    Je vais effectivement partir vers SqlCE ca me semble tres bien et comme de toute façon je n'aime pas Entity et que je compile généralement aussi ex x86 je n'ai pas de souci

  13. #13
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par défaut
    Attention le lien donné pointe vers un article foireux, comme l'indiquent les résultats ubuesques du benchmark (plusieurs ordres de grandeurs !!!) et confirmé par les commentaires de l'article.
    Et c'est l'inverse qui se produit en réalité : SQLite est très performant et remplace avantageusement les concurrents ayant la même approche de la base à fichier unique.
    Une raison simple (parmis d'autres sans doute ) : ces bases sont facilement manipulables et administrables, ne nécessitant pas de SGBD, d'infrastructure et de skills particuliers ce qui évidemment tue une partie du business des vendeurs de SGBD qui n'ont aucun intérêt à les faire connaître et rendre performant leurs propres implémentations de ce modèle.

    Citation Envoyé par olibara
    Entity Framework : Berk !
    Il y a 5/6 ans oui EF était ridicule comparé à la concurrence (NHibernate) (c'était même l'époque du "vote of no confidence" de la communauté).
    Il y a 3 ans il était devenu crédible en tant qu'ORM mais ce n'était pas encore NHibernate.
    Désormais il est production-ready et très bien tant en terme de facilité d'utilisation (merci au workflow code-first et DbContext / DbSet) que de performances en général.
    Si bien que c'est désormais devenu mon ORM .Net par défaut.

  14. #14
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 69
    Par défaut
    Je confirme modestement les dires de Pragmateek : J'utilise moi-même SQLite depuis des années et en suis très satisfait. Excellentes performances, facilité d'administration (le logiciel SQlite Database Browser m'est indispensable) et surtout facilite le déploiement XCopy lorsqu'il est souhaité.

  15. #15
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Bonjour

    Bon je me lance enfin sur ce projet

    Je vais d'abord essayer SQLServerCE

    N.B. : Je travaille habituellement en VS 2008 et SqlServer ou MySql et j'ai une asser bonne experience dans ces environnement

    Maintenant je Passe en VS 2013 64bit avec SqlServerCE et je suis deja dans le brouillard
    J'ai installé le SSCERuntime_X64

    Quelques questions de bases

    1- Quelles références faut il ajouter au projet et ou sont elles (pas dans les Assembly de base en tout cas)
    2- Existe-il des outils pour manipuler une Base SqlCE ou faut-il tout faire par programme

    Merci de votre Aide

  16. #16
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Bonjour a tous

    Bon j'ai fini par resoudre les premiers obstacle

    1- Il faut ajouter une reference sur

    c:\Program Files\Microsoft SQL Server Compact Edition\v4.0\Desktop\System.Data.SqlServerCe.dll

    ATTENTION : Pas se tromper car il y a d'autres DLL ailleurs, celle ci concerne le développement sur PC

    Apres je continue de pleurer d'avoir migré en VS 2013 et 64 bit
    C'est franchement l'environnement le plus pourri que je connaisse depuis Vista et .NET 1.0

    1- SSMS permet de designer une Base SQLCE MAIS Seulement en SSMS 2008 : Heureusement j'ai encore un Vieil XP Emblematique qui traine ! (Que dieu le garde )
    2- Il y A aussi un outil sur CodePlex mais il plante sue VS 2013 64bit
    3- LA DB Designée sur SSMS 2008 ne peux pas etre utilisée en VS2013 64 Bit : Il faut l'upgrader, mais du coup, impossible de la designer

    Quelle M... isère !

    Microsoft assurant tellement bien la compatibilité avec eux meme je me demande si je dois continuer dans cette direction ou bien passer effectivement en SQLLite peut etre moins bien intégré mais sans doute plus standard et fiable ?

    Un avis ?

  17. #17
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par défaut
    AFAIK SQL Server CE est obsolète et déprécié par Microsoft, donc normal qu'ils ne mettent pas à jour les outils.
    Même pour les technos encore d'actualité il est parfois difficile de convaincre Microsoft de développer des features car un sou est un sou. :/

    Donc CE ça sent l'impasse et tu ne veux surtout pas laisser ta boîte avec un outil obsolète à maintenir, surtout si ça a un impact sur l'infrastructure car obligé de conserver un Windows XP qui au passage est également obsolète et abandonné de Microsoft depuis le printemps...

    Sur le marché de la base portable il n'y a pas vraiment débat c'est SQLite ou ... SQLite.
    Le seul truc dommage est que l'intégration avec Entity Framework n'est pas encore complète, e.g. pas de création de base et table automatique en Code First.
    Mais étant donné que SQLite est mis en avant par Microsoft même, pour le stockage sur les applis mobile et WinRT notamment, tout cela devrait évoluer dans le bon sens.

    Donc à priori c'est un no-brainer : passe à SQLite.

Discussions similaires

  1. Réponses: 29
    Dernier message: 18/05/2011, 18h08
  2. Utilisation de SQLLite
    Par abdo20 dans le forum Android
    Réponses: 12
    Dernier message: 03/02/2010, 14h51
  3. Convertir rapidement un DBF en SQLLite
    Par cmanouvrier dans le forum C#
    Réponses: 1
    Dernier message: 05/07/2007, 09h43
  4. [SQLLite] Lecture des données dans un fichier .db
    Par PedroBD dans le forum PHP & Base de données
    Réponses: 31
    Dernier message: 13/11/2006, 17h12
  5. [SQLLite] requete SQL comment faire
    Par babaahmed dans le forum Langage SQL
    Réponses: 8
    Dernier message: 02/06/2006, 17h09

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