Compartilhar via


Serialização XML de objetos de banco de dados CLR

A serialização XML é necessária em dois cenários:

  • Invocação de serviços da Web de objetos CLR (Common Language Runtime).

  • Conversão de um UDT (tipo definido pelo usuário) em XML.

A execução de serialização XML invocando a classe XmlSerializer normalmente gera um assembly de serialização adicional que é sobrecarregado no projeto com o assembly de origem. Entretanto, por questões de segurança, essa sobrecarga é desabilitada no CLR. Portanto, para chamar um serviço Web ou executar a conversão de UDT para XML dentro de SQL Server, o assembly deve ser criado manualmente usando uma ferramenta chamada Sgen.exe fornecida com o .NET Framework que gera os assemblies de serialização necessários. Ao invocar XmlSerializer, o assembly de serialização precisa ser criado manualmente seguindo estas etapas:

  1. Execute a ferramenta Sgen.exe fornecida com o SDK do .NET Framework para criar o assembly que contém os serializadores XML para o assembly de origem.

  2. Registre o assembly gerado em SQL Server usando a CREATE ASSEMBLY instrução .

Para obter informações sobre erros que você pode receber ao executar a serialização XML, consulte o seguinte artigo Suporte da Microsoft: "Não é possível carregar o assembly de serialização gerado dinamicamente".

Para obter informações sobre tipos de dados não suportados pelo XMLSerializer, consulte o suporte a associação de esquemas XML na documentação do .NET Framework.

Consulte Também

Acesso aos dados dos objetos de banco de dados CLR
CREATE ASSEMBLY (Transact-SQL)