Sérialisation XML à partir d'objets de base de données CLR

La sérialisation XML est nécessaire dans deux scénarios :

  • Appel de services Web à partir d'objets CLR (Common Language Runtime).

  • Conversion d'un type défini par l'utilisateur (UDT) en XML.

La sérialisation XML réalisée par appel de la classe XmlSerializer génère normalement un assembly de sérialisation supplémentaire qui est surchargé dans le projet avec l'assembly source. Toutefois, pour des raisons de sécurité, cette surcharge est désactivée dans le CLR. Par conséquent, pour appeler un service Web ou procéder à la conversion d'un type défini par l'utilisateur en XML dans SQL Server, vous devez créer l'assembly manuellement à l'aide d'un outil appelé Sgen.exe et fourni par le .NET Framework qui génère les assemblys de sérialisation nécessaires. Lors de l'appel de XmlSerializer, l'assembly de sérialisation doit être créé manuellement en procédant comme suit :

  1. Exécutez l'outil Sgen.exe disponible dans le Kit de développement .NET Framework (SDK) pour créer l'assembly qui contient les sérialiseurs XML de l'assembly source.

  2. Inscrivez l'assembly généré dans SQL Server à l'aide de l'instruction CREATE ASSEMBLY.

Pour plus d'informations sur les erreurs susceptibles de survenir lors de la sérialisation XML, consultez l'article du support technique Microsoft suivant : Impossible de charger l'assembly de sérialisation généré de façon dynamique (https://go.microsoft.com/fwlink/?LinkId=178361).

Pour plus d'informations sur les types de données qui ne sont pas pris en charge par le sérialiseur XML, consultez la rubrique consacrée à la prise en charge de la liaison de schéma XML dans le .NET Framework dans la documentation de ce dernier.