none
Import dat v XML do sloupce datového typu XML

    Dotaz

  • Budu rád za dobrou radu, jak importovat do tabulky v SQL Serveru XML data do sloupce datového typu XML. Rád bych tento problém vyřešil pomocí Integration Services, ale nedaří se mi najít návod, co a jak mám nastavit, aby se importovaná data chovala jako dokument XML.

    1. V databázi mám tabulku, jejíž jeden sloupec je datového typu XML.
    2. Do tohoto sloupce chci importovat fragmenty XML, které jsou uloženy v jednom souboru.
    3. Soubor má strukturu
    <dictionary>
    <entries>
    <entry><hw>heslo</hw><original>heslo</original> ... další prvky... </entry>
    <entry><hw>heslový</hw><original>heslowy</original>... další prvky... </entry>
    </entries>
    </dictionary>
    4. Potřeboval bych každý fragment XML ohraničený značkami <entry></entry> vložit do jednoho řádku tabulky.

    Nepodařilo se mi zatím najít žádnou nápovědu, návod nebo ukázkový balíček pro Integration Services, který by tento problém řešil.

    Děkuju za pomoc, instruktáž či nasměrování.

    Boris Lehečka (Word, VBA, XML, C#, SQL)
    úterý 13. října 2009 22:57

Odpovědi

  • Dobrý den,

    v SSIS není k dispozici datový zdroj, který by poskytoval Vámi požadovanou funkčnost. Pokud trváte na použití SSIS, bylo by nejlepší naprogramovat vlastní komponentu, případně využít Script komponentu v roli datového zdroje. Dala by se použít i transformace Import Column v kombinaci s T-SQL - jednalo by se ale o značně kostrbaté a neefektivní řešení. Určitě lze vymyslet více variant s použitím SSIS, žádná z nich ale nebude optimální.
    Elegantně je možné Váš problém řešit přímo na úrovni databázového stroje pomocí CLR uložené procedury s permission setem na úrovni External Access pro načtení XML souboru a jeho zpracování do podoby result setu. Je možné také po načtení souboru využít také nativní podpory XML v SQL Serveru a pomocí xml metod získat požadované fragmenty a uložit je do tabulky.

    S pozdravem

    Miloslav Peterka,
    BI Experts
    úterý 20. října 2009 16:33