Freigeben über


XML-Serialisierung von CLR-Datenbankobjekten

Die XML-Serialisierung ist für zwei Szenarien erforderlich:

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

  • Konvertieren eines benutzerdefinierten Typs (USER-Defined Type, UDT) in XML.

Durch Aufrufen der XmlSerializer Klasse wird normalerweise eine zusätzliche Serialisierungsassembly generiert, die mit der Quellassembly in das Projekt überladen wird. Aus Sicherheitsgründen ist diese Überladung jedoch in der CLR deaktiviert. Um einen Webdienst aufzurufen oder eine Konvertierung von UDT in XML innerhalb von SQL Server durchzuführen, muss die Assembly manuell mithilfe eines Tools erstellt werden, das Sgen.exe mit .NET Framework bereitgestellt wird, das die erforderlichen Serialisierungsassemblys generiert. Beim Aufrufen XmlSerializermuss die Serialisierungsassembly manuell erstellt werden, indem Sie die folgenden Schritte ausführen:

  1. Führen Sie das toolSgen.exe aus, das mit dem .NET Framework SDK bereitgestellt wird, um die Assembly zu erstellen, die die XML-Serialisierer für die Quellassembly enthält.

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

Informationen zu Fehlern, die Beim Ausführen der XML-Serialisierung auftreten können, finden Sie im folgenden Microsoft Support-Artikel: "Die dynamisch generierte Serialisierungsassembly kann nicht geladen werden".

Informationen zu Datentypen, die von XMLSerializer nicht unterstützt werden, finden Sie unter XML-Schemabindungsunterstützung in .NET Framework in der .NET Framework-Dokumentation.

Siehe auch

Datenzugriff von CLR-Datenbankobjekten
CREATE ASSEMBLY (Transact-SQL)