SQLXML 4.0의 xml 데이터 형식 지원

적용 대상: SQL Server Azure SQL 데이터베이스

SQL Server 2005(9.x)부터 SQL Server xml 데이터 형식을 사용하여 XML 형식 데이터를 지원합니다. 이 항목에서는 SQLXML 4.0이 xml 데이터 형식의 인스턴스를 인식하고 이에 대한 지원을 구현하는 방법에 대한 정보를 제공합니다.

xml 데이터 형식 작업

xml 데이터 형식 열을 구현하는 SQL 테이블을 사용하는 방법에 대해 자세히 알아보려면 다음 예제가 제공됩니다.

Task 예제 항목
XML 뷰에 xml 열을 매핑하고 포함하는 방법 "XML 요소를 XML 데이터 형식 열에 매핑" 테이블 및 열에 대한 XSD 요소 및 특성의 기본 매핑(SQLXML 4.0)
updategram을 사용하여 xml 열에 데이터를 삽입하는 방법 "XML 데이터 형식 열에 데이터 삽입" XML Updategram을 사용하여 데이터 삽입(SQLXML 4.0)
xml 열에 XML 데이터 대량 로드 "xml 데이터 형식 열에 대량 로드" XML 대량 로드 예(SQLXML 4.0)

지침 및 제한 사항

  • <xsd:any>xml 데이터 형식을 포함한 열에 매핑할 수 없습니다. 이 시나리오에 대한 SQLXML 지원은 sql:overflow-field 주석을 통해 제공됩니다. 또 다른 해결 방법은 xml 데이터 형식 필드를 xsd:anyType의 요소로 매핑하는 것입니다. 이 해결 방법은 위의 테이블에 나와 있는 "XML 요소를 XML 데이터 형식 열에 매핑" 예에서 보여 줍니다.

  • xml 데이터 형식 열의 내용에 대한 XPath 쿼리는 지원되지 않습니다.

  • 지원되지 않거나(예: sql:relationship 및 sql:key-fields) 허용된 주석에서 xml 데이터 형식 열을 사용하면 SQLXML 4.0을 구현하는 중간 계층 구성 요소에 의해 트래핑되지 않는 SQL Server 오류가 발생합니다. 이는 SQLXML에 SQL 유형 정보가 필요 없기 때문에 발생합니다. 이 동작은 BLOB 및 이진 유형과 같은 다른 데이터 형식에 대한 SQLXML 동작과 비슷합니다.

  • 매핑 xml 열은 XSD 스키마에 대해서만 지원됩니다. XDR 스키마는 xml 열 매핑을 지원하지 않습니다.

  • SQLXML 4.0은 SQL Server 제공되는 XML 구문 분석 지원을 사용합니다. xml 열은 형식화된 XML 또는 형식화되지 않은 XML로 매핑할 수 있습니다. 두 경우 모두 SQLXML 4.0에서는 입력 XML의 유효성을 검사하지 않습니다. 입력 XML이 유효하지 않거나 올바른 형식이면 SQL Server SQLXML에 보고하고 서버에서 반환한 관련 오류 정보를 사용자에게 전파합니다.

  • SQLXML 4.0은 SQL Server 제공되는 DTD에 대한 제한된 지원을 사용합니다. SQL Server xml 데이터 형식 데이터의 내부 DTD를 허용하며, 기본값을 제공하고 엔터티 참조를 확장된 콘텐츠로 바꾸는 데 사용할 수 있습니다. SQLXML에서는 XML 데이터를 서버에 내부 DTD를 포함한 "있는 그대로" 전달합니다. 타사 도구를 사용하여 DTD를 XML 스키마(XSD) 문서로 변환하고 인라인 XML 스키마가 있는 데이터를 데이터베이스에 로드할 수 있습니다.

  • SQLXML 4.0은 SQL Server 동작에 따라 XML 선언 처리 명령(예: )을 유지하지 않습니다. 대신 XML 선언은 SQL Server XML 파서에 대한 지시문으로 처리되고 데이터가 xml 데이터 형식으로 변환된 후 해당 특성(버전, 인코딩 및 독립 실행형)이 손실됩니다. XML 데이터는 내부적으로 UCS-2로 저장됩니다. XML instance 다른 모든 처리 지침은 유지됩니다. xml 열에서 허용되며 SQLXML에서 지원될 수 있습니다.

참고 항목

XML 데이터(SQL Server)