Freigeben über


XML-Serialisierung auf Grundlage von CLR-Datenbankobjekten

Die XML-Serialisierung ist in zwei Szenarien erforderlich:

  • Aufrufen von Webdiensten aus CLR-Objekten (Common Language Runtime)

  • Konvertieren eines benutzerdefinierten Typs (UDT) in XML

Wenn durch Aufrufen der XmlSerializer-Klasse eine XML-Serialisierung durchgeführt wird, wird in der Regel eine zusätzliche Serialisierungsassembly erstellt, die in das Projekt mit der Quellassembly überladen wird. Aus Sicherheitsgründen wird diese Überladung jedoch in der CLR deaktiviert. Um in SQL Server einen Webdienst aufzurufen oder eine Konvertierung von UDT in XML durchzuführen, muss die Assembly mithilfe eines Tools namens Sgen.exe manuell erstellt werden. Dieses Tool wird mit dem .NET Framework bereitgestellt und generiert die notwendigen Serialisierungsassemblys. Beim Aufrufen von XmlSerializer muss die Serialisierungsassembly wie folgt manuell erstellt werden:

  1. Führen Sie das mit dem .NET Framework SDK bereitgestellte Tool Sgen.exe aus, um die Assembly mit den XML-Serialisierungsprogrammen für die Quellassembly zu erstellen.

  2. Registrieren Sie die generierte Assembly mithilfe der CREATE ASSEMBLY-Anweisung in SQL Server.

Informationen über Fehler, die beim Durchführen einer XML-Serialisierung auftreten können, finden Sie im folgenden Microsoft Support-Artikel: "Kann dynamisch generiertes Serialisierungsassembly nicht laden" (https://go.microsoft.com/fwlink/?LinkId=178361).

Informationen über Datentypen, die vom XML-Serialisierungsprogramm nicht unterstützt werden, finden Sie in der Dokumentation zu .NET Framework unter "Bindungsunterstützung für XML-Schema in .NET Framework".