Teilen über


Datentypen und XML-Massenladenverhalten (SQLXML 4.0)

Gilt für: SQL Server Azure SQL-Datenbank

Die datentypen, die im Zuordnungsschema (XSD- oder XDR-Typ und sql:datatype) angegeben sind, werden im Allgemeinen ignoriert, außer in den folgenden Fällen:

Bei XSD:

  • Wenn der Typ "dateTime" oder "time" ist, müssen Sie den sql:datatype angeben, da xml Bulk Load vor dem Senden der Daten an Microsoft SQL Server eine Datenkonvertierung durchführt.

  • Wenn Sie das Massenladen in eine Spalte des eindeutigen Bezeichnertyps in SQL Server ausführen und der XSD-Wert eine GUID ist, die geschweifte Klammern ({ und }) enthält, müssen Sie sql:datatype="uniqueidentifier" angeben, um die geschweiften Klammern zu entfernen, bevor der Wert in die Spalte eingefügt wird. Wenn sql:datatype nicht angegeben ist, wird der Wert mit den geschweiften Klammern gesendet, und das Einfügen schlägt fehl.

Weitere Informationen zu sql:datatype finden Sie unter "Datentypkoerationen" und "sql:datatype Annotation" (SQLXML 4.0).

Bei XDR:

  • Wenn "dt:type" "datetime", "time", "dateTime.tz" oder "time.tz" ist, müssen Sie sowohl die Datentypen "dt:type" als auch "sql:datatype" angeben, da xml-Massenladevorgänge eine Datenkonvertierung durchführt, bevor sie die Daten an SQL Server sendet.

  • Wenn Ihre XML-Daten vom Typ "uuid" sind, muss "sql:datatype " angegeben werden. dt:type="uuid" ist ebenfalls erforderlich, es sei denn, die Daten sind Zeichenfolgendaten. Wenn Sie dt:uuid nicht angeben, akzeptiert XML Bulk Load Zeichenfolgen mit geschweiften Klammern (und entfernt sie bei Bedarf).

  • Wenn die XML-Daten "bin.base64" oder "bin.hex" sind, müssen Sie den XML-Datentyp mit dt:type angeben. XML-Massenladevorgang lädt die Daten dann als hexadezimale Darstellung der Daten in SQL Server.