Hej! Det går oftast bättre utan DTS'en (IMHO). Titta på OPENXML-funktionen och relaterade funktioner i Books Online. OPENXML kan ju dock bara arbeta med xml-dokument i minnet, dvs förberedda med sp_xml_preparedocument. Man kan ju naturligtvis använda t ex xp_fileexist eller xp_getfiledetails (om det är en specifik fil man letar efter) alt. xp_dirtree för att kolla om det finns nån fil att ladda in. Sedan kan man använda sp_readerrorlog och fuska lite genom att peka ut den fil man vill läsa in xml från (istället för en error log då), så här: Gillar du inte typ BCP och BULK INSERT heller för att läsa in flatfiler? Hmm..naturligtvis, var helt inne på DTS- och externa komponenter-spåret. Med BULK INSERT kan man naturligtvis läsa in filen till en temptabell, och sedan med OPENXML plocka ut informationen ur den.Import av XML-filer från bibliotek med SP
Jag skulle vilja vilja he en SP som med jämna mellanrum kollar om det finns några filer i ett bibliotek.
1. Läs in XML-filen till temptabell,
går inläsningen ok
skriv datat till databasen.
om inte
skriv ett felmeddelande om det.
Går det att göra eller måste jag använda DTS eller ett activx-script?
Mvh JoakimSv: Import av XML-filer från bibliotek med SP
Hoppas förresten att du har SQL2000, det är där de funktionerna finns.Sv: Import av XML-filer från bibliotek med SP
INSERT INTO #temptabell (rowtext, continuationrow)
EXEC sp_readerrorlog 1, 'sökväg till xml-fil'
Man måste förstås först ha skapat temptabellen, första kolumnen är texten på varje rad och andra indikerar om det är en rad (i filen) som hamnar på flera rader i databasen. Med datan inne i en temptabell får man sedan trixa till en sträng som består av alla dessa rader xml och använda den med sp_xml_preparedocument.
Med allt detta sagt vill jag dock kommentera att jag tycker inte denna typ av logik har sin plats i databasen, jag hade definitivt byggt något utanför (DTS eller nån annan programsnutt) som kollar efter xml-filer, läser in dem och laddar in dem i en tabell i databasen. Därefter kan man sedan gå in i databasen för logik att behandla data i tabellformat som vanligt enligt relationsmodellen.Sv: Import av XML-filer från bibliotek med SP
Sv: Import av XML-filer från bibliotek med SP
Dock tycker jag fortfarande man bör göra det utanför databasen och sedan mata in datan i tabeller, med vanliga INSERT-satser, bcp eller DTS, vilket som passar bäst (oftast DTS i mina ögon, men det är väl en smaksak).