Partager via


Types de données et comportement du chargement en masse XML (SQLXML 4.0)

S’applique à : SQL ServerAzure SQL Database

Les types de données spécifiés dans le schéma de mappage (type XSD ou XDR et sql :datatype) sont généralement ignorés, sauf dans les cas suivants :

Dans XSD :

  • Si le type est dateTime ou heure, vous devez spécifier le type sql :datatype , car le chargement en masse XML effectue la conversion de données avant d’envoyer les données à Microsoft SQL Server.

  • Lorsque vous chargez en bloc 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 Contraintes de type de données et annotation sql :datatype (SQLXML 4.0).

Dans XDR :

  • Si le 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 xml Bulk Load effectue la conversion des 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, sauf si les données sont 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 en tant que représentation hexadécimale des données.