Share via


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

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

Em XSD:

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

  • Quando você estiver fazendo carregamento em massa para uma coluna do tipo uniqueidentifier no SQL Server e o valor XSD for um GUID que inclua chaves ({ e }), você deverá especificar sql:datatype="uniqueidentifier" para remover as chaves antes de o valor ser 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 o sql:datatype, consulte Coerções de tipo de dados e a anotação de sql:datatype (SQLXML 4.0).

Em XDR:

  • Se o dt:type for datetime, time, dateTime.tz, ou time.tz, você deverá especificar os tipos de dados dt:type e sql:datatype, pois o Carregamento em Massa XML realiza a conversão dos dados antes de enviá-los ao SQL Server.

  • Se seus dados XML forem do tipo uuid, sql:datatype deverá ser especificado; dt:type="uuid**"** também será 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 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 no SQL Server como uma representação hexadecimal dos dados.