Compartilhar via


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

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

  • Invocando serviços Web de objetos CLR (Common Language Runtime).

  • Convertendo um UDT (tipo definido pelo usuário) em XML.

Executar a serialização XML invocando a XmlSerializer classe normalmente gera um assembly de serialização adicional que é sobrecarregado no projeto com o assembly de origem. No entanto, para fins de segurança, essa sobrecarga está desabilitada no CLR. Portanto, para chamar um serviço Web ou executar a conversão de UDT para XML dentro do 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, o assembly de serialização deve ser criado manualmente seguindo XmlSerializerestas 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 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: "Não é possível carregar o assembly de serialização gerado dinamicamente".

Para obter informações sobre tipos de dados que não têm suporte do XMLSerializer, consulte o Suporte à Associação de Esquema XML no .NET Framework na documentação do .NET Framework.

Consulte Também

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