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

Accès aux données Discussion :

[2.0] Utiliser ou non un dataset


Sujet :

Accès aux données

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1
    Points : 1
    Points
    1
    Par défaut [2.0] Utiliser ou non un dataset
    bonjour, j'aimerais avoir un conseil pour savoir si j'utilise ou non un dataset. en fait, j'ai :
    - une base de données oracle
    - quelques clients riche qui permettent de faire des modifications, ajout ... et qui peuvent travailler sur les mêmes données
    - un client leger en consultation

    un serveur d'application qui fait le lien client, métier et persistance

    je voulais utiliser un dataset pour permettre au client léger de consulter les infos sans voir les modifications qui sont en cours par un des clients lourds.
    par contre une modification par un client serait - elle vue par les autres s'ils ne sont pas sur le meme dataset??

    et quelle est l'utilité principale du dataset? m'est-il utile dans ce cas ou suffit-il de travailler avec la base

  2. #2
    Membre actif Avatar de ccambier
    Profil pro
    Consultant ERP
    Inscrit en
    Octobre 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Octobre 2006
    Messages : 256
    Points : 267
    Points
    267
    Par défaut
    salut,
    en premier lieu si tu veux utiliser un DataSet uniquement pour lire tes données sans les modifier tu peux utiliser un DataTable qui est un peu plus léger, sauf si tu as plusieurs tables. pcq un DataSet n'est qu'une collection de DataTable avec quelques méthodes et propriétés interessantes.
    ensuite si tu veux qu'il n'y ait pas de concurrence dans les accès aux données tu peux faire des flags toi-même et ainsi garantir que lorsque qqun ouvre les données en modifications, qu'elles ne soient plus accéssible qu'en lecture.

    je signale qu'il y a d'autres méthodes, mais personnellements c'est comme ça que je ferais.

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 273
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 273
    Points : 2 203
    Points
    2 203
    Par défaut
    Attention, le dataset n'est pas une eservation de ressource au niveau de la page ou du row de la Db, mais juste un 'snapshot' a t de te données !
    Si tu veux gerer au mieux tes concurrences d'acces; il demeure souhaitable de passer par une gestion du lock sur la Db oracle (encore que c'est parfois fantaisiste...), soit aussi qui est elegant :

    Creer une vue sur le serveur db, avec le seul utilisateur possible ton user ASP
    Ne lui autoriser que le select
    Dans ce cas tu n'auras jamais de risque.

    Ensuite, un dataset ou un reader...bof...Ca change rien !

    Je dirai ensuite que je ne comprends pas vraiment le besoin :
    Necessairement si tes utilisateurs genere des modifs et que tu select tes donnees apres l'enregistrement des données, tu auras une vue des données ajoutées.
    Tu attaques bien une base physique, pas les datasets des clients lourds !

    En revanche, rien ne t'empech arbitrairement de faire la chose suivante :
    Mettre a disposition a periodicite fixe d'un client une serialisation d'un dataset (image figée independante de la Db)
    Creer un dataset qui lit tes données XML
    Laisser a 'utilisateur la possibilité de rafraichir les données depuis la Db.

    Mais de toute façon, a partir du moment ou les données sont efectivement soit commitées soit insérées, deletées ou updatées dans la Db, elles seront prises en compte dans ta requete.

    En revanche, il n'y absolument aucun risque de selectionner des operations en cours de commit. A noter cependant que dans certains cas, ton select sera lui dans l'attente d'une validation de la table.

  4. #4
    Membre actif Avatar de ccambier
    Profil pro
    Consultant ERP
    Inscrit en
    Octobre 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Octobre 2006
    Messages : 256
    Points : 267
    Points
    267
    Par défaut
    Pour faire ça il faut qu'il ai accès à la base de donnée en tant createur d'objet pour pouvoir créer la vue mais c'est certainement la meilleure idée.

Discussions similaires

  1. Réponses: 6
    Dernier message: 18/05/2009, 17h38
  2. UTILISATION DU NON EXIST
    Par LAVIATEURS dans le forum Langage SQL
    Réponses: 4
    Dernier message: 06/03/2009, 12h00
  3. [UML] utilisation langage non objet
    Par untipy dans le forum UML
    Réponses: 5
    Dernier message: 10/08/2007, 17h30
  4. Écriture dans un DBgrid quand utilise un query comme dataset
    Par dcayou dans le forum Bases de données
    Réponses: 3
    Dernier message: 13/07/2004, 23h22

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