Frage

Gibt es einen direkten Weg, der ziemlich geradlinig ist? (Das heißt kann SQL Server lesen XML)

Oder ist es am besten, die XML zu analysieren und überträgt sie nur in der üblichen Weise über ADO.Net entweder als einzelne Zeilen oder vielleicht eine Batch-Update?

ich es realisieren Lösungen sein, die große Anlage gespeichert Procs beinhalten - während ich dies nicht ganz entgegengesetzte bin, neigen dazu, ziehe ich die meisten meiner Business-Logik in der C # -Code zu haben. Ich habe eine Lösung mit SQLXMLBulkLoad gesehen, aber es schien ziemlich komplexen SQL-Code zu verlangen.

Als Referenz werde ich mit etwa 100 Zeilen gleichzeitig mit etwa 50 kleinen Stücken von Daten für jeden (Strings und Ints) arbeiten. Dies wird schließlich ein täglicher Batch-Job worden.

Jeder Code-Schnipsel können Sie bieten sehr geschätzt werden würde.

War es hilfreich?

Lösung

SQL Server 2005 oder höher hat einen Datentyp "XML", die Sie XML in speichern können -. Untypisierten oder getippte mit einem XSD-Schema

Sie können grundsätzlich Spalten vom Typ XML aus einer XML-Zeichenkette füllen, so können Sie ganz einfach nur eine normale INSERT-Anweisung verwenden und die XML-Inhalte in das Feld füllen.

Marc

Andere Tipps

Sie können die Funktion OPENXML verwenden und gespeicherte Prozedur sp_xml_preparedocument die einfache Verwaltung Ihrer XML in Rowsets umwandeln.

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

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

Mit den Knoten, den Wert und Abfragemethoden, um sie aufzubrechen, wie Sie wollen, ob Werte oder Attribute

Einige schamlos Plugging:

XML-Daten und XML-Dokument könnten unterschiedliche Bedeutung haben. Wenn XML-Typ für Daten gut ist, ist es nicht (weiß Leerzeichen entfernt) speichert Formatierung, so dass in einigen Fällen (z cofiguration-Dateien) die beste Option nvarchar ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top