Was ist der beste Weg zum speichern von XML-Daten auf SQL Server?
Gibt es einen direkten Weg, der ziemlich geradlinig? (d.h. Sie können SQL Server-XML Lesen)
Oder, ist es am besten Parsen der XML-und nur in der üblichen Weise über ADO.Net entweder als einzelne Zeilen oder vielleicht ein batch-update?
Merke ich, es gibt vielleicht Lösungen, die mit großen komplexen stored procs-während ich bin nicht ganz dagegen, ich Neige dazu, lieber haben die meisten meiner business-Logik in C# - code. Ich habe gesehen, eine Lösung mit SQLXMLBulkLoad, aber es schien zu erfordern relativ komplexe SQL-code.
Referenz, ich arbeite mit über 100 Zeilen zu einem Zeitpunkt mit über 50 kleine Stücke von Daten, die für jede (strings und ints). Dies wird schließlich zu einem täglichen batch-job.
Den code-snippets, die Sie bereitstellen können, wäre sehr dankbar.
- welche version von sql server?
- Ich bin in Erster Linie auf SQL Server 2005-obwohl ich den Zugang zu 2008.
Du musst angemeldet sein, um einen Kommentar abzugeben.
SQL Server 2005 und höher haben einen Datentyp namens "XML", die Sie abspeichern können XML - untypisierte oder getippt, mit einem XSD-schema.
Können Sie im Grunde füllen die Spalten vom Typ XML ein XML-literal string, so können Sie einfach nur mit einem normalen INSERT-Anweisung und füllen Sie den XML-Inhalt in das Feld.
Marc
Können Sie die OPENXML-Funktion und eine gespeicherte Prozedur sp_xml_preparedocument, um ganz einfach konvertieren Sie Ihre XML-Daten in rowsets.
Wenn Sie mit SQL Server 2008 (oder 2005), es hat eine
xml
nativen Datentyp. Ordnen Sie ein XSD-schema mitxml
Variablen, und Legen Sie direkt in Spalten vom Typxml
.Ja, SQL-Server 2005 und höher kann der parse-XML aus der box.
Verwenden Sie die Knoten, Wert-und query-Methoden, um es zu brechen, wie Sie wollen, ob Werte oder Attribute
Einige schamlose einstecken:
Xml-Daten und Xml-Dokument kann eine andere Bedeutung.
Wenn xml-Typ ist gut für die Daten, die Sie nicht speichern Formatierung (Leerzeichen entfernt), so dass in einigen Fällen (z.B. cofiguration-Dateien) die beste option ist vom Datentyp nvarchar.