Condividi tramite


Serializzazione XML da oggetti di database CLR

La serializzazione XML è necessaria in due scenari:

  • Richiamo di servizi Web da oggetti CLR (Common Language Runtime).

  • Conversione in XML di un tipo definito dall'utente.

Se la serializzazione XML viene eseguita richiamando la classe XmlSerializer di solito viene generato un assembly di serializzazione aggiuntivo che viene sottoposto a overload nel progetto con l'assembly di origine. Tuttavia, per motivi di protezione, questo overload è disabilitato in CLR. Pertanto, per chiamare un servizio Web o eseguire la conversione da un tipo definito dall'utente a XML in SQL Server, l'assembly deve essere creato manualmente utilizzando un strumento denominato Sgen.exe fornito in .NET Framework. Tale strumento genera gli assembly di serializzazione necessari. Quando si richiama XmlSerializer, l'assembly di serializzazione deve essere creato manualmente tramite la seguente procedura:

  1. Eseguire lo strumento Sgen.exe fornito insieme a .NET Framework SDK per creare l'assembly che contiene i serializzatori XML per l'assembly di origine.

  2. Utilizzando l'istruzione CREATE ASSEMBLY, registrare in SQL Server l'assembly generato.

Per informazioni sugli errori che si potrebbero ricevere quando si esegue la serializzazione XML, vedere l'articolo "Impossibile caricare l'assembly di serializzazione generato dinamicamente" nel sito Web Supporto Tecnico Microsoft.

Per informazioni su tipi di dati che non sono supportati da XMLSerializer, vedere Supporto dell'associazione allo Schema XML nella documentazione di .NET Framework.