Condividi tramite


Serializzazione XML da oggetti di database CLR

La serializzazione XML è necessaria per due scenari:

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

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

L'esecuzione della serializzazione XML richiamando la XmlSerializer classe genera in genere un assembly di serializzazione aggiuntivo sottoposto a overload nel progetto con l'assembly di origine. Tuttavia, a scopo di sicurezza, questo overload è disabilitato in CLR. Pertanto, per chiamare un servizio Web o eseguire la conversione dal tipo definito dall'utente al codice XML all'interno di SQL Server, l'assembly deve essere creato manualmente usando uno strumento denominato Sgen.exe fornito con .NET Framework che genera gli assembly di serializzazione necessari. Quando si richiama XmlSerializer, l'assembly di serializzazione deve essere creato manualmente seguendo questa procedura:

  1. Eseguire lo strumento Sgen.exe fornito con .NET Framework SDK per creare l'assembly contenente i serializzatori XML per l'assembly di origine.

  2. Registrare l'assembly generato in SQL Server usando l'istruzione CREATE ASSEMBLY .

Per informazioni sugli errori che è possibile ricevere durante l'esecuzione della serializzazione XML, vedere l'articolo del supporto tecnico Microsoft seguente: "Impossibile caricare l'assembly di serializzazione generato in modo dinamico".

Per informazioni sui tipi di dati non supportati da XMLSerializer, vedere Supporto dell'associazione di XML Schema in .NET Framework nella documentazione di .NET Framework.

Vedere anche

Accesso ai dati da oggetti di database CLR
CREATE ASSEMBLY (Transact-SQL)