Wie speichern Sie XML-Daten am besten auf SQL Server?

8

Gibt es eine direkte Route, die ziemlich geradlinig ist? (d. h. kann SQL Server XML lesen)

Oder ist es am besten, das XML zu parsen und es auf die übliche Weise über ADO.Net entweder als einzelne Zeile oder vielleicht als Batch-Update zu übertragen?

Mir ist klar, dass es Lösungen geben kann, die große komplexe gespeicherte Prozesse beinhalten. Obwohl ich nicht ganz dagegen bin, bevorzuge ich es, die meisten meiner Geschäftslogik im C # -Code zu haben. Ich habe eine Lösung mit SQLXMLBulkLoad gesehen, aber es schien ziemlich komplexen SQL-Code zu erfordern.

Als Referenz arbeite ich mit etwa 100 Zeilen gleichzeitig mit jeweils etwa 50 kleinen Datensätzen (Strings und Ints). Dies wird schließlich zu einem täglichen Batch-Job.

Alle Code-Snippets, die Sie zur Verfügung stellen können, werden sehr geschätzt.

    
alchemical 01.04.2009, 04:24
quelle

5 Antworten

10

SQL Server 2005 und höher haben einen Datentyp namens "XML", in dem Sie XML speichern können - nicht typisiert oder mit einem XSD-Schema typisiert.

Sie können grundsätzlich Spalten vom Typ XML aus einer XML-Literalzeichenfolge füllen, so dass Sie einfach eine normale INSERT-Anweisung verwenden und den XML-Inhalt in dieses Feld einfügen können.

Marc

    
marc_s 01.04.2009, 04:47
quelle
4

Sie können die Funktion OPENXML und die gespeicherte Prozedur sp_xml_preparedocument verwenden, um Ihre XML einfach in Rowsets umzuwandeln.

    
coder 01.04.2009 04:45
quelle
2

Wenn Sie SQL Server 2008 (oder 2005) verwenden, hat es einen systemeigenen xml - Datentyp. Sie können ein XSD-Schema mit xml -Variablen verknüpfen und direkt in Spalten vom Typ xml einfügen.

    
Mitch Wheat 01.04.2009 04:47
quelle
2

Ja, SQL Server 2005 und höher können XML direkt aus der Box analysieren.

Sie verwenden die Methoden nodes, value und query, um die Art und Weise, wie Sie wollen, ob Werte oder Attribute

zu unterteilen

Etwas schamloses Einstecken:

gbn 01.04.2009 06:20
quelle
0

Xml-Daten und Xml-Dokument können unterschiedliche Bedeutungen haben. Wenn xml type für Daten geeignet ist, wird die Formatierung nicht gespeichert (Leerzeichen wurden entfernt). In einigen Fällen (z. B. Konfigurationsdateien) ist die beste Option nvarchar.

    
Roman Pokrovskij 25.08.2015 07:26
quelle

Tags und Links