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 sicurezza, questo overload è disabilitato in CLR. Pertanto, per chiamare un servizio Web o eseguire la conversione da UDT a 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 tramite la seguente procedura:
Eseguire lo strumento Sgen.exe fornito con .NET Framework SDK per creare l'assembly contenente i serializzatori XML per l'assembly di origine.
Registrare l'assembly generato in SQL Server usando l'istruzione
CREATE ASSEMBLY
.
Per informazioni sugli errori ricevuti durante l'esecuzione della serializzazione XML, vedere l'articolo seguente supporto tecnico Microsoft: "Impossibile caricare l'assembly di serializzazione generato dinamicamente".
Per informazioni su tipi di dati che non sono supportati da XMLSerializer, vedere Supporto dell'associazione a XML Schema nella documentazione di .NET Framework.
Vedere anche
Accesso ai dati da oggetti di database CLR
CREATE ASSEMBLY (Transact-SQL)