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 ou time, vous devez spécifier sql:datatype car le chargement en masse XML effectue une conversion de données avant d'envoyer les données à Microsoft SQL Server.
Lorsque vous effectuez un chargement en masse dans une colonne de type uniqueidentifier 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. Si sql: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 Forçages de type de données et annotation sql:datatype (SQLXML 4.0).
Dans XDR :
Si dt:type est datetime, time, dateTime.tz ou time.tz, vous devez spécifier les types de données dt:type et sql:datatype car le chargement en masse XML effectue une conversion de données avant d'envoyer les données à SQL Server.
Si vos données XML sont de type uuid, sql:datatype doit être spécifié ; dt:type="uuid**"** est également requis, à moins que les données soient des données de chaîne. Si vous ne spécifiez pas dt: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 ou bin.hex, vous devez spécifier le type de données XML avec dt:type. Le chargement en masse XML charge ensuite les données dans SQL Server sous la forme d'une représentation hexadécimale des données.