Grundlegendes zu XML-Formatdateien

Microsoft Microsoft SQL Server 2005 und höhere Versionen stellen ein XML-Schema zur Verfügung, das die Syntax für das Schreiben von XML-Formatdateien definiert. XML-Formatdateien müssen sich an dieses Schema halten, das in XSDL (XML Schema Definition Language) definiert ist. XML-Formatdateien werden nur unterstützt, wenn die SQL Server-Tools zusammen mit SQL Server Native Client installiert werden.

HinweisHinweis

SQL Server 2005 und höhere Versionen unterstützen zwei Typen von Formatdateien. Im Gegensatz dazu wurde in Microsoft SQL Server 2000 und früheren Versionen nur ein Formatdateityp unterstützt. Um den bereits vorhandenen Typ von XML-Formatdateien zu unterscheiden, wird der bereits vorhandene Formatdateityp als Nicht-XML-Formatdatei bezeichnet.

Sie können XML-Formatdateien verwenden, um Massenimporte von Daten in Tabellen bzw. nicht partitionierte Sichten oder Massenexporte von Daten auszuführen. XML-Formatdateien stellen eine Alternative zu Nicht-XML-Formatdateien dar, die in SQL Server 2000 und früheren Versionen unterstützt wurden (und auch weiterhin unterstützt werden). XML-Formatdateien sind flexibler und leistungsfähiger als Nicht-XML-Formatdateien. XML-Formatdateien sind leicht verständlich und können problemlos erstellt werden. Darüber hinaus können sie vom Benutzer gelesen werden, sodass dieser nachvollziehen kann, wie Daten bei Massenvorgängen interpretiert werden. Die XML-Codierung enthält eine klare Beschreibung der Datentypen und Datenelemente der Datendatei sowie der Zuordnung zwischen den Datenelementen und den Tabellenspalten.

Eine XML-Formatdatei kann erweitert werden und bleibt dennoch mit früheren Versionen kompatibel. Darüber hinaus erleichtert die Übersichtlichkeit der XML-Codierung die Erstellung mehrerer Formatdateien für eine bestimmte Datendatei. Dies ist von Nutzen, wenn Sie alle oder einige Datenfelder den Spalten in verschiedenen Tabellen oder Sichten zuordnen müssen.

Mithilfe des bcp-Befehls können Sie automatisch eine XML-Formatdatei für eine Tabelle generieren. Weitere Informationen finden Sie unter bcp (Hilfsprogramm).

Struktur von XML-Formatdateien

XML-Formatdateien definieren, ebenso wie Nicht-XML-Formatdateien, das Format und die Struktur der Datenfelder in einer Datendatei und ordnen diese Datenfelder den Spalten in einer einzigen Zieltabelle zu.

Eine XML-Formatdatei besteht aus zwei Hauptkomponenten, <RECORD> und <ROW>:

  • <RECORD> beschreibt die Daten, die in der Datendatei gespeichert werden.

    Jedes <RECORD>-Element enthält einen Satz mit einem oder mehreren <FIELD>-Elementen. Diese Elemente entsprechen den Feldern in der Datendatei. Die Basissyntax lautet wie folgt:

    <RECORD>

       <FIELD .../> [ ...n ]

    </RECORD>

    Jedes <FIELD>-Element beschreibt den Inhalt eines bestimmten Datenfelds. Ein Feld kann jeweils nur einer Spalte in der Tabelle zugeordnet werden. Nicht alle Felder müssen Spalten zugeordnet werden.

    Ein Feld in einer Datendatei kann eine feste bzw. variable Länge aufweisen oder durch Zeichen abgeschlossen sein. Ein Feldwert kann als ein Zeichen (mit Einzelbytedarstellung), als ein Doppelbytezeichen (mit Unicode-Doppelbytedarstellung), als ein systemeigenes Datenbankformat oder als ein Dateiname dargestellt werden. Wird ein Feldwert als Dateiname dargestellt, verweist der Dateiname auf die Datei, die den Wert einer BLOB-Spalte in der Zieltabelle enthält.

  • <ROW> beschreibt, wie aus einer Datendatei Datenzeilen konstruiert werden können, wenn die Daten aus der Datei in eine SQL Server-Tabelle importiert werden.

    Ein <ROW>-Element enthält einen Satz mit <COLUMN>-Elementen. Diese Elemente entsprechen den Tabellenspalten. Die Basissyntax lautet wie folgt:

    <ROW>

       <COLUMN .../> [ ...n ]

    </ROW>

    Jedes <COLUMN>-Element kann jeweils nur einem Feld in der Datendatei zugeordnet werden. Die Reihenfolge der <COLUMN>-Elemente im <ROW>-Element definiert, in welcher Reihenfolge diese durch den Massenvorgang zurückgegeben werden. Die XML-Formatdatei weist jedem <COLUMN>-Element einen lokalen Namen zu, der keine Verbindung zu der Spalte in der Zieltabelle des Massenimportvorgangs aufweist.

Weitere Themen