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 :

[CF] Implémenter IDataReader


Sujet :

C#

  1. #1
    Rédacteur
    Avatar de Arnaud F.
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Août 2005
    Messages
    5 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 5 183
    Points : 8 873
    Points
    8 873
    Par défaut [CF] Implémenter IDataReader
    Bonjour,

    j'ai un xml "maison" qui contient le (ou les, les car si j'exécute une procédure stockée je peux en récupérer plusieurs) résultats de la requête que j'envoi via une IDbCommand.

    J'aimerai donc implémenter l'interface IDataReader dans une classe qui transforme mon XML (et donc mes différents resultsets) en objet mais je ne sais pas du tout comment m'y prendre.

    Comment implémenter cette interface?

    J'avais pensé charger le XML dans un DataSet via la méthode Load mais je ne sais pas du tout comment cela fonctionne, donc si vous avez des idées...

    C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère

    Installation de Code::Blocks sous Debian à partir de Nightly Builds

  2. #2
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Bonjour

    Tu peux préciser ? car dans ton titre, tu mets "CF", je suppose que c'est pour Compact Framework. Or, si tu utikises le Compact Framework, je ne vois pas quel base de données supportant les proc stoc tu utilises (en effet, Sql Server Ce ne supporte pas les proc stoc).

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  3. #3
    Rédacteur
    Avatar de Arnaud F.
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Août 2005
    Messages
    5 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 5 183
    Points : 8 873
    Points
    8 873
    Par défaut
    Bonjour,

    CF = Compact Framework.

    Le SGBD utilisé est Sybase ASE.

    J'ai développé un utilitaire UNIX qui prend en entrée un flux XML avec la requête à exécuter et me retourne le résultat sous forme XML également.

    J'ai donc implémenter l'interface IDbConnection et IDbCommand de sorte à faire transiter mes requêtes via Socket et je cherche donc à implémenter l'interface IDataReader de manière à faire un IDbCommand.ExecuteQuery() de manière totalement transparente.
    C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère

    Installation de Code::Blocks sous Debian à partir de Nightly Builds

  4. #4
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Citation Envoyé par Arnaud F. Voir le message
    Bonjour,

    CF = Compact Framework.

    Le SGBD utilisé est Sybase ASE.

    J'ai développé un utilitaire UNIX qui prend en entrée un flux XML avec la requête à exécuter et me retourne le résultat sous forme XML également.

    J'ai donc implémenter l'interface IDbConnection et IDbCommand de sorte à faire transiter mes requêtes via Socket et je cherche donc à implémenter l'interface IDataReader de manière à faire un IDbCommand.ExecuteQuery() de manière totalement transparente.
    Désolé, mais peux tu expliquer la finalité de cela.
    Si je comprends bien ton besoin (ce dont je ne suis pas absolument convaincu) tu veux exécuter du Sql et retourner du Xml.

    Là où je ne comprends pas du tout, c'est pour quelle raison as tu fait cela plutôt que de connecter directement ta base de données via RDO ? en clair, si je comprends à peu près ta demande technique, je ne comprends pas ton besoin fonctionnel qui, a première vue ( mais je dit bien à première vue) ressemble un peu la réinvention de choses existantes.

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  5. #5
    Rédacteur
    Avatar de Arnaud F.
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Août 2005
    Messages
    5 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 5 183
    Points : 8 873
    Points
    8 873
    Par défaut
    Citation Envoyé par Bluedeep Voir le message
    Désolé, mais peux tu expliquer la finalité de cela.
    Si je comprends bien ton besoin (ce dont je ne suis pas absolument convaincu) tu veux exécuter du Sql et retourner du Xml.
    Ce que je souhaite est juste avoir un accès la base de données, le compact framework n'embarquant pas les pilotes ODBC requis. Mais la question n'est pas là car je l'avais déjà posée précédemment et les réponses n'étaient pas appropriées ou tout du moins ne me permettait pas de réaliser ce que je souhaite faire.

    Citation Envoyé par Bluedeep Voir le message
    Là où je ne comprends pas du tout, c'est pour quelle raison as tu fait cela plutôt que de connecter directement ta base de données via RDO ? en clair, si je comprends à peu près ta demande technique, je ne comprends pas ton besoin fonctionnel qui, a première vue ( mais je dit bien à première vue) ressemble un peu la réinvention de choses existantes.
    RDO? Il y a très, très peu de documentation dessus.


    Ma question reste générale néanmoins (mon problème de SGBD mis à part), car si une interface est fournie c'est pour qu'on puisse avoir la possibilité de l'implémenter.
    C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère

    Installation de Code::Blocks sous Debian à partir de Nightly Builds

  6. #6
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Citation Envoyé par Arnaud F. Voir le message
    Ma question reste générale néanmoins (mon problème de SGBD mis à part), car si une interface est fournie c'est pour qu'on puisse avoir la possibilité de l'implémenter.
    Les destinataires primaires de ces interfaces sont les editeurs de SGBD pour qu'ils puissent justement réaliser leurs connecteurs .Net.

    L'autre utilité de ces interfaces est de faciliter l'implémentaton de couches d'accès donnée indépendantes des SGBD.

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  7. #7
    Rédacteur
    Avatar de Arnaud F.
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Août 2005
    Messages
    5 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 5 183
    Points : 8 873
    Points
    8 873
    Par défaut
    Citation Envoyé par Bluedeep Voir le message
    Les destinataires primaires de ces interfaces sont les editeurs de SGBD pour qu'ils puissent justement réaliser leurs connecteurs .Net.
    Certes oui, mais vu que là ils ne sont pas motivé à le faire...

    Citation Envoyé par Bluedeep Voir le message
    L'autre utilité de ces interfaces est de faciliter l'implémentaton de couches d'accès donnée indépendantes des SGBD.
    C'est bien pour ça que je souhaite l'implémenter !
    C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère

    Installation de Code::Blocks sous Debian à partir de Nightly Builds

  8. #8
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    Hello,

    la datatable offre déjà une méthode permettant de la remplir avec un flux xml : ReadXml. Reste à voir le format XML attendu.

    Il faut aussi voir si tu as vraiment besoin d'ADO.Net. Si au final, tu veux que ta couche DAO te renvoie des collections d'objets dont tu connais le type, il serait plus simple de directement créer ces collections à partir de l'XML.

    Sinon, si tu as vraiment besoin de créer un provider ADO.Net, tu peux jeter un œil sur le code de mono, qui doit bien en contenir quelques uns.
    ಠ_ಠ

  9. #9
    Rédacteur
    Avatar de Arnaud F.
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Août 2005
    Messages
    5 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 5 183
    Points : 8 873
    Points
    8 873
    Par défaut
    Citation Envoyé par Guulh Voir le message
    Hello,

    Il faut aussi voir si tu as vraiment besoin d'ADO.Net. Si au final, tu veux que ta couche DAO te renvoie des collections d'objets dont tu connais le type, il serait plus simple de directement créer ces collections à partir de l'XML.
    Non je ne connais pas le type malheureusement.

    Citation Envoyé par Guulh Voir le message
    Sinon, si tu as vraiment besoin de créer un provider ADO.Net, tu peux jeter un œil sur le code de mono, qui doit bien en contenir quelques uns.
    Je vais faire ça vu que personne ne semble l'avoir fait jusque là
    C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère

    Installation de Code::Blocks sous Debian à partir de Nightly Builds

Discussions similaires

  1. Réponses: 12
    Dernier message: 01/07/2004, 11h03
  2. Réponses: 8
    Dernier message: 04/06/2004, 09h13
  3. Moteur physique : comment l'implémenter ?
    Par haypo dans le forum Algorithmes et structures de données
    Réponses: 15
    Dernier message: 17/12/2003, 12h56
  4. Réponses: 2
    Dernier message: 06/07/2002, 12h36
  5. Implémentation des fonctions mathématiques
    Par mat.M dans le forum Mathématiques
    Réponses: 9
    Dernier message: 17/06/2002, 16h19

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