none
Alternative à une base de données sql RRS feed

  • Question

  • Bonjour,

    Ma question peut paraître stupide, désolé mais je suis débutant.

    Je souhaite créer une application (en C#) que je pourrais éventuellement distribuer par la suite. Cette application contiendra des données sensibles. Il faut donc sauvegarder, lire, effacer, écrire… ces données et les encryptées/décryptées.

    Mes questions sont les suivantes :

    1° Est-il possible de créer une base de données sql sur un poste qui à priori ne dispose pas de sql server ? En gros est-ce que une version « light » sql server est installée par défaut sur windows ?

    Si oui comment créer cette db automatiquement à l’installation du logiciel ?

    2° Il y a-t-il une alternative à l’utilisation d’une db sql ? Je pensais à un fichier xml mais je ne suis pas certain que cela soit adapté à ce que je souhaite faire?

    N’hésitez pas à me donner des conseils.

    Merci

    lundi 27 octobre 2014 09:19

Réponses

  • Bonjour,

    Pour SQL Server, il faut installer le moteur obligatoirement, même si il y a une version allégée et gratuite (SQL Express). (http://msdn.microsoft.com/fr-fr/evalcenter/dn434042.aspx)

    Comme alternative, vous avez SQLLite qui lui n'a pas besoin d'installation. Avec Nuget, vous pouvez même l'ajouter à votre projet facilement (https://www.nuget.org/packages/sqlite-net). De plus, SQLLite est aussi compatible avec les applis WinRT.

    Pour XML, c'est simple mais si vous avez beaucoup de données et surtout des requêtes à effectuer sur ces données, cela va commencer à être "tendu" ;-).


    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    lundi 27 octobre 2014 11:06
  • Bonjour,

    Pour une utilisation d'XML, tout dépend du volume de donnée. L'utilisation de XML est bien pour faire du requêtage via LinQ, par contre avec un volume donnée important, et en plus, vous voulez les protégés, il vous faudra chiffrer/déchiffrer le fichier à chaque fois. Ce qui peut être long.

    Ensuite, vous pouvez utiliser SQLite, avec il est possible de protégé votre fichier de base de donnée. Voici 3 liens que j'ai trouvé sur le net (je ne les ai pas testé). Encrypt-SQLite, Password Protect SQLite et SQLite Encryption. SQLite a des limites, stocker plusieurs Go n'est pas vraiment recommandé. Cette techno permet de créer la base de donnée au démarrage de l'application. Un "vieu" tuto pour du SQLite avec WPF.

    Une utilisation d'une base Access peut être un moyen. Il y a la protection, des drivers de connection en C#, et un c'est un outils qui est quand même performant (dans la limite du raisonnable).

    lundi 27 octobre 2014 11:19
  • Bonjour,

    Ma question peut paraître stupide, désolé mais je suis débutant.

    Je souhaite créer une application (en C#) que je pourrais éventuellement distribuer par la suite. Cette application contiendra des données sensibles. Il faut donc sauvegarder, lire, effacer, écrire… ces données et les encryptées/décryptées.

    Mes questions sont les suivantes :

    1° Est-il possible de créer une base de données sql sur un poste qui à priori ne dispose pas de sql server ? En gros est-ce que une version « light » sql server est installée par défaut sur windows ?

    Si oui comment créer cette db automatiquement à l’installation du logiciel ?

    2° Il y a-t-il une alternative à l’utilisation d’une db sql ? Je pensais à un fichier xml mais je ne suis pas certain que cela soit adapté à ce que je souhaite faire?

    N’hésitez pas à me donner des conseils.

    Merci

    Pour le scénario décrit par vous croyez que le plus judicieux est d'utiliser SQLite http://www.codeproject.com/Articles/22165/Using-SQLite-in-your-C-Application
    lundi 27 octobre 2014 11:21

Toutes les réponses

  • Bonjour,

    Pour SQL Server, il faut installer le moteur obligatoirement, même si il y a une version allégée et gratuite (SQL Express). (http://msdn.microsoft.com/fr-fr/evalcenter/dn434042.aspx)

    Comme alternative, vous avez SQLLite qui lui n'a pas besoin d'installation. Avec Nuget, vous pouvez même l'ajouter à votre projet facilement (https://www.nuget.org/packages/sqlite-net). De plus, SQLLite est aussi compatible avec les applis WinRT.

    Pour XML, c'est simple mais si vous avez beaucoup de données et surtout des requêtes à effectuer sur ces données, cela va commencer à être "tendu" ;-).


    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    lundi 27 octobre 2014 11:06
  • Bonjour,

    Pour une utilisation d'XML, tout dépend du volume de donnée. L'utilisation de XML est bien pour faire du requêtage via LinQ, par contre avec un volume donnée important, et en plus, vous voulez les protégés, il vous faudra chiffrer/déchiffrer le fichier à chaque fois. Ce qui peut être long.

    Ensuite, vous pouvez utiliser SQLite, avec il est possible de protégé votre fichier de base de donnée. Voici 3 liens que j'ai trouvé sur le net (je ne les ai pas testé). Encrypt-SQLite, Password Protect SQLite et SQLite Encryption. SQLite a des limites, stocker plusieurs Go n'est pas vraiment recommandé. Cette techno permet de créer la base de donnée au démarrage de l'application. Un "vieu" tuto pour du SQLite avec WPF.

    Une utilisation d'une base Access peut être un moyen. Il y a la protection, des drivers de connection en C#, et un c'est un outils qui est quand même performant (dans la limite du raisonnable).

    lundi 27 octobre 2014 11:19
  • Bonjour,

    Ma question peut paraître stupide, désolé mais je suis débutant.

    Je souhaite créer une application (en C#) que je pourrais éventuellement distribuer par la suite. Cette application contiendra des données sensibles. Il faut donc sauvegarder, lire, effacer, écrire… ces données et les encryptées/décryptées.

    Mes questions sont les suivantes :

    1° Est-il possible de créer une base de données sql sur un poste qui à priori ne dispose pas de sql server ? En gros est-ce que une version « light » sql server est installée par défaut sur windows ?

    Si oui comment créer cette db automatiquement à l’installation du logiciel ?

    2° Il y a-t-il une alternative à l’utilisation d’une db sql ? Je pensais à un fichier xml mais je ne suis pas certain que cela soit adapté à ce que je souhaite faire?

    N’hésitez pas à me donner des conseils.

    Merci

    Pour le scénario décrit par vous croyez que le plus judicieux est d'utiliser SQLite http://www.codeproject.com/Articles/22165/Using-SQLite-in-your-C-Application
    lundi 27 octobre 2014 11:21
  • Bonjour,

    Merci à tous pour vos réponse. Les premiers articles que je lis semble confirmer que SqlLite est le plus approprié.

    Je vais donc creuser dans cette direction.

    Je vous tiens au courant de l'évolution.

    Encore merci !

    lundi 27 octobre 2014 12:31
  • Si les réponses étaient utiles, les marquer, se il vous plaît.
    lundi 27 octobre 2014 12:45