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.