Types de données et comportement du chargement en masse XML (SQLXML 4.0)
Les types de données spécifiés dans le schéma de mappage (type XSD ou XDR et sql:datatype
) sont ignorés en général, sauf dans les cas suivants :
Dans XSD :
Si le type est
dateTime
outime
, vous devez spécifier le, car le chargement en bloc XML effectue lasql:datatype
conversion des données avant d’envoyer les données à Microsoft SQL Server.Lorsque vous chargez en bloc dans une colonne de
uniqueidentifier
type dans SQL Server et que la valeur XSD est un GUID qui inclut des accolades ({ et }), vous devez spécifier sql:datatype="uniqueidentifier » pour supprimer les accolades avant l’insertion de la valeur dans la colonne. Sisql:datatype
n'est pas spécifié, la valeur est envoyée avec les accolades et l'insertion échoue.
Pour plus d’informations sur sql:datatype
, consultez Contraintes de type de données et annotation sql:datatype (SQLXML 4.0).
Dans XDR :
Si est
dt:type
, , ou , vous devez spécifier les types de données etsql:datatype
, car ledt:type
chargement en bloc XML effectue la conversion des données avant d’envoyer les données à SQL Server.time.tz
dateTime.tz
time
datetime
Si vos données XML sont de type
uuid
,sql:datatype
doivent être spécifiées ; dt:type="uuid » est également requis, sauf si les données sont des données de chaîne. Si vous ne spécifiez pasdt:uuid
, le chargement en masse XML accepte les chaînes avec accolades (et les supprime si nécessaire).Si les données XML sont
bin.base64
oubin.hex
, vous devez spécifier le type de données XML avecdt:type
. Le chargement en bloc XML charge ensuite les données dans SQL Server en tant que représentation hexadécimale des données.