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 :

[Vb.Net/Access] Comment sauvegarder un DATASET ?


Sujet :

Accès aux données

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

    Informations forums :
    Inscription : Novembre 2004
    Messages : 4
    Points : 4
    Points
    4
    Par défaut [Vb.Net/Access] Comment sauvegarder un DATASET ?
    J'utilise une application qui lit une base de données ACCESS, toujours la même et toujours en lecture-seule. Le remplissage du DATASET est très long compte tenu du nombre important d'enregistrements (2 tables d'environ 400 000 enregistrements).

    Existe-il un moyen d'accélerer le remplissage du DATASET en sauvegardant par exemple le DATASET (une fois rempli) dans le format utilisé par ADO .NET pour stocker le DATASET ? Il suffirait, pour accéder aux données, de spécifier le chemin de ce fichier et le DATASET se connecterait au fichier sans à voir à relire l'ensemble du fichier.

    Ce type de commande existait avec ADO et les recordset : il s'agissait de la méthode save. Exise-t-il l' équivalanlt sous .NET ?

    Merci d'avance

  2. #2
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Citation Envoyé par arthur24
    ...
    Ce type de commande existait avec ADO et les recordset : il s'agissait de la méthode save. Existe-t-il l' équivalant sous .NET ?...
    Oui bien sûr mais la sauvegarde est sous format .xml Est-ce indiqué de créer un xml ausi lourd dans ton cas je ne crois pas. Le chargement du Dataset via le fichier xml serait encore plus long. Il faudrait en fait gagner un peu de temps vis à vis de l'utilisateur en réfléchissant à un affichage paginée ou quelque chose qui tient compte du fait que 400 000 données sont illisibles en une fois concrètement. Autant multiplier les accès aux données directement d'ACCESS selon les besoins d'affichage non
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  3. #3
    Membre expert

    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    1 581
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 581
    Points : 3 016
    Points
    3 016
    Par défaut
    Citation Envoyé par arthur24
    J'utilise une application qui lit une base de données ACCESS, toujours la même et toujours en lecture-seule.
    Donc, on peut en conclure que les données ne servent qu'à être affichées.

    Citation Envoyé par arthur24
    d'enregistrements (2 tables d'environ 400 000 enregistrements).
    Merci d'avance
    Je ne vois pas l'intérêt dans ton cas de travailler en mode déconnecté. Le mode déconnecté est surtout intéressant lorsque:

    - On a besoin à un moment ou à un autre de modifier les données
    - Lorsque l'on travaille avec des "quantités" réduites d'information.

    Le mode connecté est beaucoup plus rapide pour rappatrier de grandes quantités de données.

    D'autre part, je suis tout à fait d'accord avec neguib quant au fait que tu devrais te poser la question

    "est-ce bien nécessaire de rappatrier tous ces enregistrements d'un coup?" si c'est juste de l'affichage, la réponse est clairement non. Si tu dois traiter ces informations d'une manière ou d'une autre sans mise à jour de celles-ci vers la db, je te conseille le mode connecté (datareader)

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

    Informations forums :
    Inscription : Novembre 2004
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Merci pour ta réponse.

    Je pense que tu as raison je vais me rabattre sur le paging avec les difficultés que ça peut poser.

    Mais je trouve frustrant de voir que ce qui était possible avec ADO (charger une table de 400 000 enregistrements en un temps raisonnable) ne l'est pas avec ADO .NET. Grrrr....

  5. #5
    Membre expert

    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    1 581
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 581
    Points : 3 016
    Points
    3 016
    Par défaut
    Citation Envoyé par arthur24
    Merci pour ta réponse.

    Je pense que tu as raison je vais me rabattre sur le paging avec les difficultés que ça peut poser.

    Mais je trouve frustrant de voir que ce qui était possible avec ADO (charger une table de 400 000 enregistrements en un temps raisonnable) ne l'est pas avec ADO .NET. Grrrr....
    ado travaillait en mode connecté càd le mode que je t'ai suggéré pour ton besoin

  6. #6
    Expert éminent
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Points : 7 962
    Points
    7 962
    Par défaut
    Citation Envoyé par arthur24
    J'utilise une application qui lit une base de données ACCESS, toujours la même et toujours en lecture-seule. Le remplissage du DATASET est très long compte tenu du nombre important d'enregistrements (2 tables d'environ 400 000 enregistrements).

    Existe-il un moyen d'accélerer le remplissage du DATASET en sauvegardant par exemple le DATASET (une fois rempli) dans le format utilisé par ADO .NET pour stocker le DATASET ? Il suffirait, pour accéder aux données, de spécifier le chemin de ce fichier et le DATASET se connecterait au fichier sans à voir à relire l'ensemble du fichier.

    Ce type de commande existait avec ADO et les recordset : il s'agissait de la méthode save. Exise-t-il l' équivalanlt sous .NET ?

    Merci d'avance
    Oui la méthode WriteXML est équivalente.
    Cependant, s'il s'agit de faire à l'identique une copie locale d'une base distante, cela n'a pas de sens, car il serait plus rentable de charger par partie selon les besoins de la onsultation

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

Discussions similaires

  1. [VB.NET] Comment sauvegarder des données ?
    Par Aspic dans le forum VB.NET
    Réponses: 14
    Dernier message: 15/07/2007, 15h47
  2. [ADO.Net][VB.NET/C#]Comment importer .xls dans DataSet ?
    Par smedini dans le forum Accès aux données
    Réponses: 2
    Dernier message: 10/01/2006, 15h59
  3. [.NET Remoting] Comment transferer un Dataset ?
    Par B.AF dans le forum Framework .NET
    Réponses: 2
    Dernier message: 30/12/2005, 22h34
  4. Vb.Net et Access : comment modifier la structure d'une base
    Par hucliez dans le forum Accès aux données
    Réponses: 3
    Dernier message: 09/11/2005, 13h33
  5. [IDE][VS.NET] Comment sauvegarder l'état des 'Region' ?
    Par CkurcK dans le forum Contribuez
    Réponses: 2
    Dernier message: 23/02/2004, 14h33

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