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.
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
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.
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.
Tags und Links sql-server xml ado.net bcp etl