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 :

Choix d'un gestionnaire de BD et connexion


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 1
    Par défaut Choix d'un gestionnaire de BD et connexion
    Bien le bonjour,

    Je suis nouveau sur le forum, et j'ai bien chercher avant de venir me permettre de poster ici, mais je n'ai rien trouvé.

    Pour me préquisenter rapidement, je suis en BTS SIO SLAM (ancien BTS Informatique de gestion) en 2ème année, j'ai étudié le C#, le SQL, le PHP, l'HTML et le CSS.

    Depuis longtemps, je travail sur un projet perso: une appli qui me permettrait de gerer des parties de Donjon et dragons. (création de personnage, etc.)

    J'ai choisis de mettre en place, un modèle de développement en couche. (BLL, DAL, BO et GUI). J'ai déjà bien avancé voir terminer la couche BO.
    J'ai aussi bien avancer dans la couche GUI.

    Mon problème pour mettre en place la DAL et la BLL. En effet, j'aimerais pouvoir donner ce programme à mes joueurs. Du coup je ne sais pas qu'elle gestionnaire de base de donnée choisir: Access, Sql Server, SQLite, Oracle?

    Comme je voudrais pouvoir fournir ce programme à mes amis avec une base de donnée complète et utilisable j'ai cru comprendre qu'il faut que j'utilise plutot une Base de donnée embarquée style SQLite?

    J'ai essayé de récupérer SQL server 2008 via DreamSpark (l'ancien MSDNAA) et SQL Server Express mais l'installation s'est trouvé tellement laborieuse que j'ai renoncé à utiliser SQL server.

    Quel type de gestionnaire de base de donnée devrais-je utiliser?

    Ensuite j'ai remarqué que la manière de se connecter à la BDD et de faire les requetes était différente entre SQL Server et SQLite.

    Auriez vous des liens de tuto concernant cette partie? (la couche DAL en somme)

    Merci d'avance!

  2. #2
    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 Albert Camomille Voir le message
    Comme je voudrais pouvoir fournir ce programme à mes amis avec une base de donnée complète et utilisable j'ai cru comprendre qu'il faut que j'utilise plutot une Base de donnée embarquée style SQLite?
    Effectivement une BDD embarquée est sans doute le meilleur choix. Ca limite un peu tes choix :
    - Access (mais je ne le recommande pas, c'est vraiment trop pourri)
    - SQLite
    - SQL Server Compact (qui contrairement au "vrai" SQL Server, ne requiert aucune installation)


    Citation Envoyé par Albert Camomille Voir le message
    J'ai essayé de récupérer SQL server 2008 via DreamSpark (l'ancien MSDNAA) et SQL Server Express mais l'installation s'est trouvé tellement laborieuse que j'ai renoncé à utiliser SQL server.
    Ce n'est pas très adapté à ce que tu veux faire de toutes façons...

    Citation Envoyé par Albert Camomille Voir le message
    Ensuite j'ai remarqué que la manière de se connecter à la BDD et de faire les requetes était différente entre SQL Server et SQLite.
    - Le langage SQL est essentiellement le même ; il y a de petites variantes selon les SGBD, mais grosso modo la syntaxe pour les SELECT/UPDATE/INSERT/DELETE est la même.
    - Les chaines de connexion sont différentes (cf. ce site)
    - On n'utilise pas les mêmes classes. Par exemple pour SQLite, on utilise SQLiteConnection à la place de SqlConnection, SQLiteCommand à la place de SqlCommand, etc. Pour SQL Server Compact, c'est SqlCeConnection, SqlCeCommand, etc. Sinon les principes restent exactement les mêmes, et en pratique tu peux (en grande partie) faire abstraction des différences, comme expliqué ici.

    De plus il faudra ajouter une référence au provider ADO.NET adéquat. Le plus simple est de l'ajouter via Nuget

  3. #3
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Juste pour compléter, attention avec la Compact Edition, car elle est principalement destinée aux applications pour smartphones. Les perfos sont sont relativement pourries et les fonctionnalités sont limitées...

    Ca peut aller selon le projet (si par exemple tu ne fais pas trop d'appels à la base), mais ça peut devenir galère. A bien réfléchir donc si tu t'orientes vers SQL Server CE

    [EDIT]Et je confirme, Access c'est vraiment à éviter.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  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 DotNetMatt Voir le message
    Juste pour compléter, attention avec la Compact Edition, car elle est principalement destinée aux applications pour smartphones. Les perfos sont sont relativement pourries et les fonctionnalités sont limitées...
    Je sais pas où tu as pêché ça... ça marche très bien pour des applications PC ou même web, c'est pas du tout spécifique pour les mobiles. Et les perfs sont tout à fait correctes (comparables avec SQLite, voire meilleures dans certains scénarios)

  5. #5
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Ben déjà on peut relever le fait que CE soit une base de données de type fichier, l'accès se fait via une DLL et la DB est chargée dans l'AppDomain. C'est donc déjà moins performant que quand on tape dans la RAM.

    Enfin au niveau des fonctionnalités, il n'y a pas de procédures stockées par exemple, il y a une limite de taille, je crois que c'est 3 Go 2 Go.

    Donc pour certaines applis ça peut faire l'affaire, mais pas pour toutes.

    [EDIT] Après vérification, la limite de taille de la base de données CE est de 2 Go. J'ai corrigé ci-dessus.

    [EDIT2] En complément, voici un lien qui recense les différences entre CE 3.5 SP2, CE 4, Express 2012 et LocalDB 2012 : http://erikej.blogspot.dk/2011/01/co...act-4-and.html
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  6. #6
    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 DotNetMatt Voir le message
    Ben déjà on peut relever le fait que CE soit une base de données de type fichier, l'accès se fait via une DLL et la DB est chargée dans l'AppDomain. C'est donc déjà moins performant que quand on tape dans la RAM.

    Enfin au niveau des fonctionnalités, il n'y a pas de procédures stockées par exemple, il y a une limite de taille, je crois que c'est 3 Go 2 Go.
    Oui mais là tu compares des choses qui ne sont pas comparables ; bien sûr que SQL Compact a moins de fonctionnalités que SQL Server, et des moins bonnes performances, et une taille max pour la base, etc. C'est une DB embarquée, donc conçue pour être légère, donc forcément c'est moins puissant qu'une DB serveur.

    Evidemment si Albert développait une grosse appli web, je recommanderais plutôt SQL Server, mais vu qu'il a clairement indiqué qu'il avait besoin d'embarquer la DB, SQL Compact est plus indiqué...

Discussions similaires

  1. Choix d'un gestionnaire décentralisé
    Par Anubis dans le forum Autres DVCS
    Réponses: 4
    Dernier message: 30/03/2011, 07h17
  2. Choix d'un gestionnaire de BDD
    Par PlapPlop dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 01/03/2011, 09h50
  3. choix d'un gestionnaire de bug
    Par ilila dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 30/07/2008, 11h14
  4. Gestionnaire de Service Onglet Connexion
    Par yosthegost dans le forum Delphi
    Réponses: 5
    Dernier message: 22/05/2006, 17h55
  5. connexion oracle - choix d'architecture et langage
    Par ludvo dans le forum Général Conception Web
    Réponses: 8
    Dernier message: 13/09/2005, 21h33

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