Freigeben über


Datentypen und XML-Massenladenverhalten (SQLXML 4.0)

Die Datentypen, die im Zuordnungsschema (XSD- oder XDR-Schema und sql:datatype) angegeben werden, werden mit Ausnahme der folgenden Fälle immer ignoriert:

Bei XSD:

  • Bei den Typen dateTime oder time müssen Sie die sql:datatype-Anmerkung angeben, da XML-Massenladen vor dem Senden der Daten an Microsoft SQL Server eine Datenkonvertierung durchführt.

  • Wenn beim Massenladen in eine Spalte vom Typ uniqueidentifier in SQL Server der XSD-Wert eine GUID ist, die Klammern ({ und }) enthält, müssen Sie sql:datatype="uniqueidentifier" angeben, um die Klammern zu entfernen, bevor der Wert in die Spalte eingefügt wird. Wenn sql:datatype nicht angegeben wird, wird der Wert mit Klammern gesendet, und beim Einfügen tritt ein Fehler auf.

Weitere Informationen zu sql:datatype finden Sie unter Datentypumwandlungen und die sql:datatype-Anmerkung (SQLXML 4.0).

Bei XDR:

  • Wenn der dt:typedatetime, time, dateTime.tz oder time.tz lautet, müssen Sie die Datentypen dt:type und sql:datatype angeben, da XML-Massenladen vor dem Senden der Daten an SQL Server eine Datenkonvertierung durchführt.

  • Wenn es sich bei den XML-Daten um Daten vom Typ uuid handelt, muss sql:datatype angegeben werden. dt:type="uuid**"** muss ebenfalls angegeben werden, außer bei den Daten handelt es sich um Zeichenfolgendaten. Wenn dt:uuid nicht angegeben wird, akzeptiert XML-Massenladen Zeichenfolgen mit Klammern (und entfernt diese ggf.).

  • Wenn es sich bei den XML-Daten um Daten vom Typ bin.base64 oder bin.hex handelt, müssen Sie den XML-Datentyp mit dt:type angeben. XML-Massenladen lädt die Daten dann als Hexadezimaldarstellung der Daten in SQL Server.