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

Actualités Discussion :

SQLite vient d'être porté sous C# pour fonctionner avec .NET

  1. #21
    Expert éminent
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Points : 7 752
    Points
    7 752
    Par défaut
    Citation Envoyé par Emmanuel Lecoester Voir le message
    @smyley :
    C'est une belle performance que ce portage mais est-il utile à la communauté et sera-t-il je ne sais pas
    Perso j'ai quelque peu de mal à y croire, surtout si c'est un portage à coup de find-replace comme cela a été mentionné plus haut. C'est à dire qui ne tire pas du tout parti de la puissance objet et des types disponibles dans le framework.

    peut être que le côté 100% managé du code lui donne un avantage sur sql server CE, il y a aussi une chance qu'on l'utilise comme BDD légère sur mobile.

    Cependant il faut garder à l'esprit que... c'est SQLite! Donc des outils d'administrations assez bof (à ma connaissance du moins), pas de contraintes de clef étrangères, typage faible etc...

    SQL server CE qui est un produit éprouvé, des kilomètres devant SQLite question fonctionnalité et qui dispose de la version gratuite de SQLSMS, c'est déjà une solution intéressante pour pas un rond (à mon avis).

    Firebird a l'avantage de pouvoir être upgradé en version serveur très facilement sans toucher au code de l'application.

    VistaDb, bien que payant, est une solution 100% managée très supportée qui a beaucoup à faire valoir...

    A noter que ces 3 solutions disposent déjà de drivers ADO.net relativement au point (je dis relativement à cause de firebird mais faudrait que je me remette à jour). Donc quel place pour ce SQLite c# au final? Je suppose les petites applications qui veulent stocker quelques données dans un format un minimum structuré, sans trop d'exigences et avec plus de flexibilité que du XML ou des fichiers plats...
    Par contre cette syntaxe dégueulasse mentionnée plus haut par Smyley m'inquiète un peu.

  2. #22
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 9
    Points : 11
    Points
    11
    Par défaut
    Personellement, pour avoir teste SQL Lite pour des benchmarks, mon avis rejoins celui de skip a savoir ce n'est pas une solution tres interessante en terme de performance.
    De plus lorsqu'on utilise des solutions a faible ressource memoire, il ne faut pas s'etonner du fait qu'elles aient des fonctionalites reduites; c'est juste la contre partie .


    _____________
    Fast Embedded DB visit http://www.raima.com/

  3. #23
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Somme (Picardie)

    Informations forums :
    Inscription : Mars 2007
    Messages : 9
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par Gooom Voir le message
    y a encore mieux : http://sqlite.phxsoftware.com/
    +1

    Cela fait longtemps que je l'utilise aussi.
    A mon avis, la version développée dans cette news n'a pas grand intérêt.
    Hormis l'intérêt pédagogique.

  4. #24
    Invité
    Invité(e)
    Par défaut
    Je suis en train de migrer un gros front-office d'access vers sqlite avec http://sqlite.phxsoftware.com/ moi aussi.
    Je rame quand même pas mal même si sqlite n'en finit pas de m'impressionner.

    Il a fallu 'vendre' cette migration, ensuite, il faut tenir la distance. sqlite est très bien mais aussi assez rugueux par rapport à quelque chose d'aussi fini qu'access (et à fortiori sqlserver ..)

    Ce portage en c# ne m'inspire rien de bon, défendre la perf du gars qui l'a fait est très bien mais je me demande si ce n'est pas simplement une fausse bonne idée.
    Enlever les perfs de sqlite, ajouter des bugs, le déraciner de sa logique c pour faire un portage plus ou moins automatique.... Je pense que le gars a dû bosser dessus mais , je lui suggère d'arréter, laisser le bébé en cc avec son papa et faire quelque chose de plus rentable , désolé

  5. #25
    Invité
    Invité(e)
    Par défaut
    C# n'est pas vraiment une flèche comme language, comparé au C embarqué, c'est comme revenir au 486 (avec un IDE génial il est vrai) ...

    Mais ce n'est rien d'autre qu'un super-VB6 tout neuf, pourquoi vouloir lui demander de faire tourner des sous-copies bridées au lieu de lui confier ce qu'il fait de mieux : des IHM fluides, des graphismes super-beaux.

    Si on lui connecte des bouts de soft spécialisés, c'est pas pour des prunes !

    Le C est inégalable pour faire tourner un sql-engine.

  6. #26
    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 : 42
    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
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par Gordon Fowler Voir le message
    Elle pourra à présent être utilisée dans des projets conçus avec les outils de Microsoft.NET sans utiliser P/Invoque ou des lignes de code peu sûres.
    Euh... pourquoi faire du P/Invoke quand on à un provider ADO.NET qui marche super bien ?
    Citation Envoyé par Gooom Voir le message
    y a encore mieux : http://sqlite.phxsoftware.com/
    Il est 100% compatible ADO.NET 2.0, supporte l'Entity Framework, et fournit même une classe pour définir ses propres fonctions utilisables dans les requêtes.


    En fait je ne vois pas du tout l'intérêt d'un tel portage en gardant la même API : le C# n'est pas du C, la logique n'est pas du tout la même. L'API qu'ils ont pondue est une aberration d'un point de vue POO . En .NET il y a un modèle commun à tous les providers de base de données (ADO.NET) : cette implémentation SQLite ne s'y conforme pas du tout.

    Ou alors il aurait fallu un wrapper ADO.NET pour masquer les méthodes de l'API de base, mais au final ce serait quand même plus lent que le provider mentionné plus haut (qui appelle la dll SQLite native, plus rapide)...

  7. #27
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 59
    Points : 22
    Points
    22
    Par défaut
    Je fais remonter le sujet un peu car j'ai une problématique :


    Je cherche à faire une application client/serveur, qui puisse gérer le mode déconnecté.

    A deployer sur des postes utilisateurs divers, sans installation.

    Je comptais donc opter pour Silverlight 3.0 qui permet le mode hors connexion
    et integrer directement une base coté client sans installation (pour lui permettre de bosser en hors connexion).

    Donc plusieurs question :

    _ Quelle techno de base de donné client utiliser pour le mode offline ?
    http://sqlite.phxsoftware.com/ est il parfait pour cela ?
    Est ce compatible avec SilverLight ? (jentendais dire que Silverlight ne supportait pas ADO.NET, choses comme ça)

    _ Cette techno permet d'elle d'utiliser Sync for ADO.NET ? (afin de resyncrhoniser mes donnée avec ma VRAIE base SQL server 2005 coté serveur, lors de la reconnection au reseau).

    Merci de votre réponse.

  8. #28
    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 : 42
    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
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par Tgaud Voir le message
    _ Quelle techno de base de donné client utiliser pour le mode offline ?
    http://sqlite.phxsoftware.com/ est il parfait pour cela ?
    Est ce compatible avec SilverLight ? (jentendais dire que Silverlight ne supportait pas ADO.NET, choses comme ça)
    Effectivement Silverlight ne supporte pas ADO.NET... pour accéder à une base de données, il faut le faire via un service implémenté côté serveur

    Par contre, le portage de SQLite en C# pourrait convenir, vu que ça ne repose pas sur ADO.NET...

    Citation Envoyé par Tgaud Voir le message
    _ Cette techno permet d'elle d'utiliser Sync for ADO.NET ? (afin de resyncrhoniser mes donnée avec ma VRAIE base SQL server 2005 coté serveur, lors de la reconnection au reseau).
    Dans l'absolu, ce serait possible, mais il faudrait implémenter ton propre provider pour la synchro (de base, seuls SQL Server et SQL Server CE sont supportés). Mais vu que ce framework de synchro repose sur ADO.NET, ce n'est pas possible en Silverlight...

  9. #29
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 59
    Points : 22
    Points
    22
    Par défaut
    Pour le coup, je suis un peu perdu.

    Comment sont censé fonctionner les application Silverlight 3.0 en mode déconnecté, si la gestion des bases de données ne se fait pas?

    Si il faut installer un serveur SQL local, autant passer à du client lourd non?

    Quelquechose m'échappe.


    Au final, quelle solution / choix technologique me conseillerais tu pour répondre à ma problématique ?
    (sachant que redevelopper un provider moi même est hors de mes compétences je pense).

  10. #30
    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 : 42
    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
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par Tgaud Voir le message
    Si il faut installer un serveur SQL local, autant passer à du client lourd non?
    Ca ne servirait à rien puisque Silverlight ne supporte pas ADO.NET

    Je sais pas trop quelle est la bonne approche, j'ai pas beaucoup développé en Silverlight, et encore moins en mode déconnecté... Tu peux peut-être garder une copie locale de tes données en XML (ou sous une autre forme).

    De toutes façons, ce n'est pas vraiment le bon endroit pour poser ce genre de question... Poste plutôt ta question dans le forum Silverlight

Discussions similaires

  1. Réponses: 0
    Dernier message: 05/10/2012, 12h47
  2. Quelle CMS simple pour fonctionner avec ACCESS
    Par Debutant10 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 25/09/2011, 20h51
  3. Réponses: 6
    Dernier message: 02/02/2011, 10h13
  4. Réponses: 0
    Dernier message: 05/07/2010, 12h15
  5. [VB.NET] font.colorindex pour excel avec .NET
    Par beegees dans le forum Windows Forms
    Réponses: 2
    Dernier message: 23/07/2006, 16h17

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