次の方法で共有


CLR データベース オブジェクトからの XML シリアル化

XML シリアル化は、次の 2 つのシナリオで必要です。

  • 共通言語ランタイム (CLR) オブジェクトからの Web サービスの呼び出し。

  • ユーザー定義型 (UDT) を XML に変換する。

通常、 XmlSerializer クラスを呼び出して XML シリアル化を実行すると、ソース アセンブリを使用してプロジェクトにオーバーロードされる追加のシリアル化アセンブリが生成されます。 ただし、セキュリティ上の理由から、このオーバーロードは CLR で無効になっています。 そのため、Web サービスを呼び出したり、SQL Server 内で UDT から XML への変換を実行したりするには、必要なシリアル化アセンブリを生成する .NET Framework で提供されるSgen.exe というツールを使用して、アセンブリを手動で作成する必要があります。 XmlSerializerを呼び出すときは、次の手順に従ってシリアル化アセンブリを手動で作成する必要があります。

  1. .NET Framework SDK に付属の Sgen.exe ツールを実行して、ソース アセンブリの XML シリアライザーを含むアセンブリを作成します。

  2. CREATE ASSEMBLY ステートメントを使用して、生成されたアセンブリを SQL Server に登録します。

XML シリアル化を実行するときに発生する可能性があるエラーについては、次の Microsoft サポート記事「 動的に生成されたシリアル化アセンブリを読み込めません」を参照してください。

XMLSerializer でサポートされていないデータ型の詳細については、.NET Framework ドキュメントの .NET Framework の XML スキーマ バインドのサポートを参照してください。

こちらもご覧ください

CLR データベース オブジェクトからのデータ アクセス
CREATE ASSEMBLY (Transact-SQL) (アセンブリを作成)