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 :

PRécision sur System.Data.OleDb ?


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 527
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 527
    Par défaut PRécision sur System.Data.OleDb ?
    Bonjour,

    Mon premier gros projet utilisant une base de données, je l'ai fais avec NHibernate. Je n'ai donc aujourd'hui aucune expérience sur System.Data.OleDb.

    Je dois faire un utilitaire qui permettra de lire une valeur dans une table d'une base de données et en fonction de cette valeur, faire une mise à jour de la structure de la base. Cet utilitaire devra pouvoir agir sur différents types de SGBD: Access, SQL Server, Oracle, MySQL.

    En débutant cet utilitaire, j'ai commencé par faire une factory qui me renverra des classes adaptées pour chaque type de SGBD. J'ai fais ça en pensant que les méthodes d'accès seraient différentes. J'ai commencé par Access et ma classe fonctionne très bien. Mais maintenant, en y regardant de plus près, je me dis que System.Data.OleDb pourrait très bien faire l'affaire pour les autres SGBD, en changeant simplement la chaîne de connexion.

    Ma question est donc la suivante: La lecture d'une colonne simple dans tous les SGBD cités, ainsi que la modification de la structure (simple ajout de table ou de colonnes) sera t-elle possible à partir du même code ?

    Papy !

  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 : 43
    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
    Je ne suis pas sur qu'OleDb soit le meilleur provider "générique" pour accéder à différents types de BDD, personnellement j'ai une préférence pour ODBC

    Mais de toutes façons, la façon "propre" de faire ça est d'utiliser la couche d'abstraction d'ADO.NET, comme expliqué dans cet article :
    http://johannblais.developpez.com/tu...acces-donnees/

    Ca permet de n'utiliser que des objets de type DbConnection, DbCommand, etc, sans se préoccuper du type de BDD. La seule chose spécique au SGBD est le nom du provider (System.Data.SqlClient, System.Data.OracleClient, etc...), et encore, tu peux le mettre en fichier de configuration.

  3. #3
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 527
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 527
    Par défaut
    Merci pour le lien très instructif !

    Je vais effectivement suivre cette voie et reprendre mon code.

    Juste une précision: Dans le cas de cet utilitaire, les performances ne sont pas importantes. Il ne sera utilisé que très occasionnellement, pour faire une mise à jour de la structure d'une base de données en fonction de l'évolution du logiciel qui utilise cette base. Ce logiciel n'évoluera pas tous les jours :-)

    Il ne me restera qu'à définir les chaînes SQL en fonction du SGBD choisi.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    231
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2004
    Messages : 231
    Par défaut
    Je confirme, une couche d'abstraction et tu t'embêteras plus
    J'avais suivis ce tutoriel à l'époque qui est super bien fait

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 26/05/2010, 13h13
  2. Réponses: 1
    Dernier message: 13/02/2010, 13h44
  3. Réponses: 1
    Dernier message: 08/06/2009, 16h32
  4. Réponses: 2
    Dernier message: 24/02/2009, 15h41
  5. Réponses: 2
    Dernier message: 27/02/2008, 10h09

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