다음을 통해 공유


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

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

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

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

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

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

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

XML 직렬화 수행 중 발생할 수 있는 오류에 대한 자세한 내용은 Microsoft 고객 지원 문서 "동적으로 생성된 serialization 어셈블리를 로드할 수 없습니다"를 참조하십시오.

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

참고 항목

참조

CREATE ASSEMBLY(Transact-SQL)

개념

CLR 데이터베이스 개체에서 데이터 액세스