Developpez.com - Rubrique .NET

Le Club des Développeurs et IT Pro

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

Le 2009-08-07 09:54:12, par Gordon Fowler, Expert éminent sénior
SQLite vient d'être porté sous C# par Noah Hart.
Si le résultat s'avère plus lent que l'original, il ouvre cependant la porte à une nouvelle utilisation de la base de données.
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.

De nombreux produits, dont Adobe AIR ou Silverlight, fonctionnent avec SQLite.

Le code source de SQLite-C# est sous Creative Common (Licence Libre).
Il a passé plus de 30.000 tests pour, aujourd'hui, un nombre minime d'erreurs restantes (9 d'après Noah Hart).

L'exécutable pèse 528 KB (contre 506 à l'original).
Quant à la question de la relative lenteur du programme, Noah Hart avoue ne pas s'être encore penché sur l'optimisation de ses performances.
Pour autant, il considère qu'elles sont d'ores et déjà acceptables.

N'étant pas affilié à SQLite.org, ce projet reste une version non-officielle de SQLite dont le créateur, Richard Hipp, refuse que cette version porte le nom de son programme.

Richard Hipp a cependant accepté l'appelation SQLite-C# qui devrait donc devenir le nom officiel du portage.

Source : La page officielle du portage SQLite-C# sur Google Code.

Lire aussi :
- SQLite sur le comparatif SGBD
- Le forum SQLite
- Le forum C#

Et vous, pensez-vous que ce portage soit une bonne idée ?
Envisagez-vous d'utiliser cette librairie dans vos projets professionels ?
  Discussion forum
29 commentaires
  • neo.51
    Expert éminent
    Excusez ma question d'ignare mais je vois pas en quoi sql-lite devrait-être porté en C# pour fonctionner avec .NET...

    Ils ont pas porté oracle en C# pour que je puisse l'utiliser "proprement" avec du C#...

    Par contre c'est original de voir un SGBD en code managé
  • Pierre Louis Chevalier
    Expert éminent sénior
    Parce que SQLite est un SGBD Embeded.

    Quand tu utilises Oracle, tu installes oracle, puis ton appli. Tu peux installer les deux à la suite avec un programme d'installation mais ça reste deux logiciels.

    SQLite existant en code C#, tu peu avoir une appli avec le SGBD inclus et le tout en C#, donc tout en code managé, donc à l'arrivée un truc simple, light et performant.

    Excellente solution pour diffuser des applications qui n'ont pas besoin d'un SGBD poids lourd...

    Pour plus d'informations :
    - SQLite sur le comparatif SGBD
    - Le forum SQLite
  • sidev
    Membre du Club
    ce n'est pas bien que ça ne soit pas reconnu par Richard Hipp.
  • Gordon Fowler
    Expert éminent sénior
    Bonjour Sidev,

    C'est pas tellement qu'il ne le reconnait pas.
    Il ne veut juste pas laisser le nom.

    Ceci dit, comme je l'ai mis dans l'article, il a tout de même accepté l'appellation "SQLite-C#"...
  • amezghal
    Membre habitué
    Bonne nouvelle!
    Ça tombe bien, je travaille actuellement sur une application ou j'utilise sqLite (p-invoke), pour le moment m'en fou des performances, l'essentiel c'est it work .
    Y a des gens qui sont vraiment très motivés (porter tout le code), merci ! ce sont des personnes comme vous qui nous facilite la tache
    Bravo monsieur Noah Hart.
  • stailer
    Membre chevronné

    Excellente solution pour diffuser des applications qui n'ont pas besoin d'un SGBD poids lourd...
    Fourni avec Visual Studio, y a aussi SQL Server Compact que j'ai utilisé pour plusieurs applis et qui fonctionne très bien.

    Bon évidemment y a des "trucs" qui s'installent au déploiement de l'application et ça n'est pas léger au point d'SQLite, mais ça marche très bien également.
  • VLDG
    Membre éclairé
    Envoyé par Pierre Louis Chevalier
    .
    SQLite existant en code C#, tu peu avoir une appli avec le SGBD inclus et le tout en C#, donc tout en code managé, donc à l'arrivée un truc simple, light et performant.
    embarcadero fait cela depuis longtemps avec Blackfish
    http://www.embarcadero.com/products/blackfish-sql
  • Gooom
    Futur Membre du Club
    y a encore mieux : http://sqlite.phxsoftware.com/
  • VLDG
    Membre éclairé
    Envoyé par stailer
    Fourni avec Visual Studio, y a aussi SQL Server Compact que j'ai utilisé pour plusieurs applis et qui fonctionne très bien.
    La version Firebird embedded fonctionne aussi très bien.
  • Pierre Louis Chevalier
    Expert éminent sénior
    Envoyé par VLDG
    embarcadero fait cela depuis longtemps avec Blackfish
    http://www.embarcadero.com/products/blackfish-sql
    Depuis longtemps il faut pas trop exagérer, je pense que SQLite existait avant Blackfish. C'est quoi le modèle économique de blackfish ? Je n'ai pas pu le savoir avec certitude sur le site d'embarcadéro. Pour SQLite c'est "OpenSource et gratuit" au moins c'est clair et net.

    Pour ce qui est de SQL Server Compact 3.5 il y à un runtime ça n'est donc pas du vrai embeded. Pour Blackfish c'est vraiment très léger, c'est peut etre du vrai embeded, pour Java et .NET mais je n'en suis pas sur.
    SQLite c'est du vrai embeded, avant avec C++ et maintenant en plus avec C#.

    Bon alors d'après ce que j'en ai compris, récapitulons :

    - Bonnes solutions de sgbd light : Firebird et SQL Server Compact 3.5.

    - Presque embeded : Firebird Embeded (sous forme de DLL)

    - Vrais solutions de SGBD embeded : SQLite et peut etre Blackfish ?

    Des commentaires ?