none
Correspondance BD SQLServer et objet xml RRS feed

  • Question

  • comment creer une correspondance entre les elements d'une base de donnés SQL Server et un schema xml.
    En effet le schema xml permettra de localiser des points sur une carte .
    Merci de bien vouloir me guider.
    vendredi 5 mars 2010 17:03

Réponses

  • Bonjour,

    Comme le précise Alex Petrescu vous avez le choix entre 2 méthodes selon la version de SQL Server employée.

    - SQL Server 2000 : FOR XML EXPLICIT
    - SQL Server 2005 ou plus : FOR XML EXPLICIT ou XQUERY

    Une solution avec FOR XML EXPLICIT :

    DECLARE @poubelle TABLE
    (
     id INT,
     longitude FLOAT,
     latitude FLOAT,
     status INT
    );
     
    INSERT INTO @poubelle VALUES (6, 42.3535, -71.0655, 1);
    INSERT INTO @poubelle VALUES (2, 63., -10.0655, 2);
     
    SELECT 
          1 AS tag,
          NULL AS Parent,
          id AS [poubelle!1!id],
          latitude AS [poubelle!1!latitude!ELEMENT],
          longitude AS [poubelle!1!longitude!ELEMENT],
          status AS [poubelle!1!status!ELEMENT]
    FROM @poubelle 
    FOR XML EXPLICIT, ROOT('poubelles');



    ++
    MCDBA | MCITP SQL Server 2005 / SQL Server 2008 | LPI Linux 1
    lundi 8 mars 2010 16:54
    Modérateur

Toutes les réponses

  • Bonsoir,

    Pourriez vous nous donner un peu plus d'éléments comme la structure de vos tables, le schéma XML etc .... ?

    ++
    MCDBA | MCITP SQL Server 2005 / SQL Server 2008 | LPI Linux 1
    vendredi 5 mars 2010 19:07
    Modérateur
  • Je n'ai encore pas de base solide en xml.je cherche toujours des cours  d'XML .concernant la base de Donnees ,la table qui devra etre associé est appele POUBEL et contient les proprietes suivantes
    le numero de la poubelle 'id-poubell) et la localisation de la poubelle sur la carte a travers la longitude(longitud) et sa lattitude (lattitude)
    en faisant quelque recherche,je peu donner ce shema ci dessous.
    <poubelles>
    <poubelle id="6">
    <Latitude>42.3535</Latitude>
    <Longitude>-71.0655</Longitude>
    <Status>1</Status>
    </Poubelle>
    </Poubelles>
    samedi 6 mars 2010 18:12
  • Bonjour,

     

    Pour l’export d’une table dans un fichier XML je vous conseille de consulter ce lien : http://msdn.microsoft.com/fr-fr/library/ms178107.aspx

     

    Particulièrement, je crois que pour votre structure l’utilisation du mode EXPLICIT est la plus appropriée.

     

    Cordialement,

    Alex


    Alex Petrescu - MSFT
    lundi 8 mars 2010 10:31
  • Bonjour,

    Comme le précise Alex Petrescu vous avez le choix entre 2 méthodes selon la version de SQL Server employée.

    - SQL Server 2000 : FOR XML EXPLICIT
    - SQL Server 2005 ou plus : FOR XML EXPLICIT ou XQUERY

    Une solution avec FOR XML EXPLICIT :

    DECLARE @poubelle TABLE
    (
     id INT,
     longitude FLOAT,
     latitude FLOAT,
     status INT
    );
     
    INSERT INTO @poubelle VALUES (6, 42.3535, -71.0655, 1);
    INSERT INTO @poubelle VALUES (2, 63., -10.0655, 2);
     
    SELECT 
          1 AS tag,
          NULL AS Parent,
          id AS [poubelle!1!id],
          latitude AS [poubelle!1!latitude!ELEMENT],
          longitude AS [poubelle!1!longitude!ELEMENT],
          status AS [poubelle!1!status!ELEMENT]
    FROM @poubelle 
    FOR XML EXPLICIT, ROOT('poubelles');



    ++
    MCDBA | MCITP SQL Server 2005 / SQL Server 2008 | LPI Linux 1
    lundi 8 mars 2010 16:54
    Modérateur