CLR 데이터베이스 개체에서 XML 직렬화

XML 직렬화는 다음과 같은 두 가지 시나리오에서 필요합니다.

  • CLR(공용 언어 런타임) 개체에서 웹 서비스를 호출하는 경우

  • UDT(사용자 정의 형식)를 XML로 변환하는 경우

XmlSerializer 클래스를 호출하여 XML 직렬화를 수행하면 일반적으로 추가 직렬화 어셈블리가 생성되어 원본 어셈블리와 함께 프로젝트로 오버로드됩니다. 그러나 CLR에서는 보안을 위해 이 오버로드가 실행되지 않습니다. 따라서 웹 서비스를 호출하거나 SQL Server 내에서 UDT에서 XML로 변환을 수행하려면 필요한 serialization 어셈블리를 생성하는 .NET Framework 제공되는Sgen.exe 라는 도구를 사용하여 어셈블리를 수동으로 만들어야 합니다. XmlSerializer를 호출하는 경우 다음 단계에 따라 직렬화 어셈블리를 직접 만들어야 합니다.

  1. .NET Framework SDK와 함께 제공되는Sgen.exe도구를 실행하여 원본 어셈블리에 대한 XML 직렬 변환기가 포함된 어셈블리를 만듭니다.

  2. 문을 사용하여 생성된 어셈블리를 SQL Server 등록합니다CREATE ASSEMBLY.

XML serialization을 수행할 때 발생할 수 있는 오류에 대한 자세한 내용은 "동적으로 생성된 serialization 어셈블리를 로드할 수 없음" Microsoft 지원 문서를 참조하세요.

XMLSerializer에서 지원하지 않는 데이터 형식에 대한 자세한 내용은 .NET Framework 설명서의 .NET Framework에서 XML 스키마의 바인딩 지원을 참조하십시오.

참고 항목

CLR 데이터베이스 개체에서 데이터 액세스
CREATE ASSEMBLY(Transact-SQL)