다음을 통해 공유


XML 업데이트그램의 지침 및 제한 사항(SQLXML 4.0)

적용 대상: SQL ServerAzure SQL Database

XML updategram을 사용할 때는 다음 사항을 기억하세요.

  • 블록 앞>과<>< 의< 한 쌍만 있는 삽입 작업에 updategram을 사용하는 경우 이전> 블록을 생략할 수 있습니다. 반대로 삭제 작업의 <경우 after> 블록을 생략할 수 있습니다.

  • 동기화> 태그<에서 블록 앞>과<>의 여러 <블록이 있는< updategram을 사용하는 경우 블록 앞>과<>의 블록이 쌍 전후><>에 형성<되도록 지정해야 합니다.

  • Updategram의 업데이트는 XML 스키마에서 제공한 XML 뷰에 적용됩니다. 따라서 기본 매핑이 성공하려면 updategram에서 스키마 파일 이름을 지정하거나 파일 이름이 제공되지 않으면 요소 및 특성 이름이 데이터베이스의 테이블 및 열 이름과 일치해야 합니다.

  • SQLXML 4.0에서는 자식 요소에 대한 XML 뷰를 구성하기 위해 제공된 스키마(XDR 또는 XSD)에서 updategram의 모든 열 값을 명시적으로 매핑해야 합니다. 이 동작은 sql:relationship 주석에서 외래 키의 일부로 암시된 경우 스키마에 매핑되지 않은 열의 값을 허용한 이전 버전의 SQLXML과 다릅니다. (이 변경 내용은 자식 요소에 대해 명시적으로 지정된 값이 없는 경우 SQLXML 4.0에 대해 계속 발생하는 자식 요소에 대한 기본 키 값 전파에는 영향을 주지 않습니다.

  • updategram을 사용하여 이진 열(예: SQL Server 이미지 데이터 형식)의 데이터를 수정하는 경우 SQL Server 데이터 형식(예: sql:datatype="image") 및 XML 데이터 형식(예: dt:type="binhex" 또는 dt:type="binbase64)을 지정해야 하는 매핑 스키마를 제공해야 합니다. 이진 열에 대한 데이터는 updategram에 지정해야 합니다. 매핑 스키마에 지정된 sql:url-encode 주석은 updategram에서 무시됩니다.

  • XSD 스키마를 작성할 때 sql:relation 또는 sql:field 주석에 지정한 값에 공백 문자(예: "주문 세부 정보" 테이블 이름)와 같은 특수 문자가 포함된 경우 이 값은 대괄호(예: "[Order Details]")로 묶어야 합니다.

  • updategram을 사용하는 경우 체인 관계는 지원되지 않습니다. 예를 들어 테이블 A와 C가 테이블 B를 사용하는 체인 관계를 통해 관련된 경우 updategram을 실행하고 실행하려고 할 때 다음 오류가 발생합니다.

    There is an inconsistency in the schema provided.  
    

    스키마와 updategram이 모두 올바르고 유효한 형식이더라도 체인 관계가 있는 경우 이 오류가 발생합니다.

  • Updategram은 업데이트 중에 이미지 형식 데이터를 매개 변수로 전달하는 것을 허용하지 않습니다.

  • text/ntext 및 이미지와 같은 BLOB(Binary Large Object) 형식은 동시성 제어에 <사용하기 위해 포함되므로 updategram을 사용할 때 이전> 블록에서 사용하면 안 됩니다. 이로 인해 BLOB 형식 비교에 대한 제한 사항으로 인해 SQL Server에 문제가 발생할 수 있습니다. 예를 들어 LIKE 키워드는 WHERE 절에서 텍스트 데이터 형식의 열을 비교하는 데 사용되지만 데이터 크기가 8K보다 큰 BLOB 형식의 경우 비교가 실패합니다.

  • Ntext 데이터의 특수 문자는 BLOB 형식 비교에 대한 제한 사항으로 인해 SQLXML 4.0에 문제가 발생할 수 있습니다. 예를 들어 ntext 형식 열의 동시성 검사에 <사용되는 경우 updategram의 이전> 블록에서 "[Serializable]"을 사용하면 다음 SQLOLEDB 오류 설명과 함께 실패합니다.

    Empty update, no updatable rows found   Transaction aborted  
    

참고 항목

Updategram 보안 고려 사항(SQLXML 4.0)