Share via


Tipos de dados e o comportamento do Carregamento em Massa de XML (SQLXML 4.0)

Aplica-se a:SQL ServerBanco de Dados SQL do Azure

Os tipos de dados especificados no esquema de mapeamento (tipo XSD ou XDR e sql:datatype) geralmente são ignorados, exceto nos seguintes casos:

Em XSD:

  • Se o tipo for dateTime ou time, você deverá especificar o sql:datatype porque o Carregamento em Massa XML executa a conversão de dados antes de enviar os dados para o Microsoft SQL Server.

  • Quando você está carregando em massa em uma coluna do tipo uniqueidentifier no SQL Server e o valor XSD é um GUID que inclui chaves ({ e }), você deve especificar sql:datatype="uniqueidentifier" para remover as chaves antes que o valor seja inserido na coluna. Se sql:datatype não for especificado, o valor será enviado com as chaves e a inserção falhará.

Para obter mais informações sobre sql:datatype, consulte Coerções de tipo de dados e a anotação sql:datatype (SQLXML 4.0).

Em XDR:

  • Se dt:type for datetime, time, dateTime.tz ou time.tz, você deverá especificar os tipos de dados dt:type e sql:datatype porque o Carregamento em Massa XML executa a conversão de dados antes de enviar os dados para SQL Server.

  • Se os dados XML forem do tipo uuid, sql:datatype deverá ser especificado; dt:type="uuid" também é necessário, a menos que os dados sejam dados de cadeia de caracteres. Se você não especificar dt:uuid, o Carregamento em Massa XML aceitará cadeias de caracteres com chaves (e as removerá, se necessário).

  • Se os dados XML forem bin.base64 ou bin.hex, você deverá especificar o tipo de dados XML com dt:type. O Carregamento em Massa XML carrega os dados em SQL Server como uma representação hexadecimal dos dados.