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 da Web ou executar a conversão de UDT em XML no SQL Server, o assembly precisa ser criado manualmente usando uma ferramenta chamada Sgen.exe, que é fornecida com o .NET Framework e 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 .NET Framework SDK para criar o assembly que contém os serializadores XML para o assembly de origem.

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

Para obter informações sobre erros que você pode receber ao executar a serialização XML, consulte o seguinte artigo de Suporte da Microsoft sobre "Impossibilidade de carregar dinamicamente o assembly de serialização gerado" (https://go.microsoft.com/fwlink/?LinkId=178361).

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.