Hallå alla Jag tror att du själv måste platta till det så att det blir så här:XML-schema för lagring av data till SQL Server 2005 databas
Sitter och analyserar XML-dokument som ska bulkloadas till en SQL Server 2005 databas. XML-dokumenten är mycket stora men jag har gjort ett exempel för att illustera mitt problem.
Inom taggen <b>information</b> finns ett datornamn och dess ip lagrat.
Inom taggen <b>data</b> finns information som tillhör datornamnet.
Problem: <b>comp_name</b> och <b>ip</b> ska läggas till varje entry som finns i <b>data</b>.
Fråga: Hur definierar jag mitt schema för att kunna lagra informationen i en SQL Server 2005 databas?
Informationen ska lagras i en databas bestående av en tabell tblDB, med följande kolumner:
+ comp_name
+ comp_ip
+ record_nr
+ record_data
<root>
<information>
<comp_name>abc_111</comp_name>
<ip>111.111.111.111</ip>
</information>
<data>
<RecordNR>1</RecordNR>
<RecordDATA>aaa></RecordDATA>
<RecordNR>2</RecordNR>
<RecordDATA>bbb></RecordDATA>
<RecordNR>3</RecordNR>
<RecordDATA>ccc></RecordDATA>
<RecordNR>4</RecordNR>
<RecordDATA>ddd></RecordDATA>
</data>
</root>
Alla tips och råd är välkomna. ^^
Ha de gott
Anders
Sv: XML-schema för lagring av data till SQL Server 2005 databas
<ROOT>
<tblDB>
<comp_name />
<comp_ip />
<record_nr />
<record_data />
</tblDB>
<tblDB>
<comp_name />
<comp_ip />
<record_nr />
<record_data />
</tblDB>
</ROOT>
Det kan du göra med XSLT. http://www.w3schools.com/xsl/
Det är enklare att skriva ett dotnet-program som loopar igenom
XML-filen med XmlTextReader och gör INSERT via SP.
Bulk load är antagligen snabbare så om det inte är en engångsgrej och prestanda är intressant så kan det vara värt att bygga det.