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

Windows Forms Discussion :

DataSet Client Serveur


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 99
    Par défaut DataSet Client Serveur
    Bonjour,

    Je dois réaliser une application client/serveur permettant de fusionner des DataSet, je cherche depuis quelques jours mais la seule solution que j'ai trouvé c'est de convertir mon DataSet du serveur en XML pour qu'il devienne un type String de l'envoyer et de le reconstituer sur le client avec un DS.ReadXML(). Malheureusement je n'obtiens pas les mêmes données une fois reconvertie, auriez vous une solution pour la transmission de DataSet d'un serveur vers un client ? Le problème lors de la lecture du XML en DataSet sont les chaines 'espace' (sur les quelques tests que j'ai effectué je n'ai rencontré que ce problème).

    Ex:
    <Champ1> </Champ1>
    deviendra
    <Champ1 />

    Pour résumer, j'ai un serveur et un client avec un DataSet identique, si le serveur vient à changer les données (pas la structure) il faut que le serveur envoie le DataSet au client qui va le fusionner avec le sien (qui aura surement été modifié entre temps) ainsi le serveur et le client en cas de modification auront toujours le même DataSet.

  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
    Comment fais-tu la conversion du DataSet en XML ? avec la méthode WriteXml ?
    Il me semble que ça devrait convertir les espaces en "&nbsp;" normalement...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 99
    Par défaut
    Pour la conversion du DataSet en XML je fais comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    msg = DS.GetXmlSchema() & "<FINXMLSCHEMA>" & DS.GetXml()
    J'envoie donc une chaine vers mon client

    Sur mon client la chaine est bien arrivée entière, je fais donc un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    [...]
    chaine = Split(response, "<FINXMLSCHEMA>") 'Découpe mon schéma et mes données
    Dim sr As New System.IO.StringReader(chaine(0))
    Dim sr2 As New System.IO.StringReader(chaine(1))
     
    DS.ReadXmlSchema(sr) 'Insère le schéma dans le DataSet
    DS.ReadXml(sr2) 'Insère les données dans le DataSet
    J'ai vérifié du côté serveur avant l'envoi et du côté client après la réception avec un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DS.WriteXML(Chemin, XmlWriteMode.WriteSchema)
    et je remarque que mes chaînes 'espace' n'existe plus (c'est un test donc je n'ai pas testé beaucoup d'éléments peut être que d'autres ne seront pas pris en compte)

    Donc pour le moment ça fonctionne plutôt bien sauf pour les chaines 'espace' je cherche donc un autre moyen d'envoyer mon DataSet ou s'il existe une autre méthode pour réceptionner mon XML.

  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 : 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
    bizarre... je comprends pas trop pourquoi il fait ça

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 99
    Par défaut
    Je ne comprend pas non plus, est ce que vous auriez une autre idée pour transmettre le DataSet en autre chose que du String, envoyer directement le DataSet serait sympa mais je n'ai pas réellement trouvé.

    J'ai juste tenté en écrivant sur un fichier XML sur mon disque :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <NewDataSet>
       <Branche1>
          <Data1> </Data1>
       </Branche1>
    </NewDataSet>
    et avec un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DS.ReadXML(fichier)
    DS.WriteXML(fichier2)
    mon fichier2 se retrouve avec un :
    J'ai du mal à comprendre comment il considère une chaine espace comme une chaine nulle.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 99
    Par défaut
    Est ce que vous pensez que le .net remoting peut être une bonne solution ? Je suis tombé sur cette technologie tout à l'heure mais ne la connaissant pas bien je me demande si c'est une bonne solution à mon problème.

    Je dois envoyer des DataSet de mon client vers mon serveur et inversement.

Discussions similaires

  1. Application Client/Serveur et DataSet
    Par baxter_dev dans le forum Accès aux données
    Réponses: 2
    Dernier message: 09/10/2006, 09h47
  2. Quel outil pour du développement Client/Serveur (Win XP) ?
    Par jey_bonnet dans le forum Débats sur le développement - Le Best Of
    Réponses: 5
    Dernier message: 02/11/2002, 14h57
  3. Réponses: 2
    Dernier message: 01/10/2002, 12h25
  4. comment gerer plusieurs connexions client/serveur
    Par naili dans le forum C++Builder
    Réponses: 3
    Dernier message: 14/08/2002, 16h58
  5. Langage le mieux adapté pour application client serveur ?
    Par guenus dans le forum Débats sur le développement - Le Best Of
    Réponses: 4
    Dernier message: 17/06/2002, 15h46

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