次の方法で共有


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

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

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

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

XmlSerializer クラスを呼び出して XML シリアル化を実行すると、通常、新たにシリアル化アセンブリが生成され、シリアル化の基になるアセンブリを含むプロジェクトにオーバーロードされます。 ただし、セキュリティ上の理由から、CLR ではこのオーバーロードが無効になります。 このため、SQL Server 内部で Web サービスを呼び出したり、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 スキーマ バインディング サポートに関する情報を参照してください。

関連項目

参照

CREATE ASSEMBLY (Transact-SQL)

概念

CLR データベース オブジェクトからのデータ アクセス