데이터 형식과 XML 대량 로드 동작(SQLXML 4.0)

매핑 스키마(XSD 또는 XDR 형식 및 sql:datatype)에 지정된 데이터 형식은 일반적으로 다음 경우를 제외하고는 무시됩니다.

XSD

  • dateTime 또는 time 형식의 경우 XML 대량 로드는 Microsoft SQL Server에 데이터를 보내기 전에 데이터 변환을 수행하기 때문에 sql:datatype을 지정해야 합니다.

  • SQL Server에서 uniqueidentifier 형식의 열에 대량 로드하는 경우 XSD 값이 중괄호({ 및 })가 포함된 GUID이면 sql:datatype="uniqueidentifier"를 지정하여 중괄호를 제거한 후에 값을 열에 삽입해야 합니다. sql:datatype을 지정하지 않으면 값이 중괄호와 함께 전송되어 삽입이 실패합니다.

sql:datatype에 대한 자세한 내용은 데이터 형식 강제 변환 및 sql:datatype 주석(SQLXML 4.0)을 참조하십시오.

XDR

  • dt:type이 datetime, time, dateTime.tz 또는 time.tz인 경우 XML 대량 로드는 SQL Server에 데이터를 보내기 전에 데이터 변환을 수행하기 때문에 dt:type 및 sql:datatype 데이터 형식을 모두 지정해야 합니다.

  • XML 데이터가 uuid 형식인 경우 sql:datatype을 지정해야 하며, 데이터가 문자열 데이터가 아니면 dt:type="uuid**"**도 지정해야 합니다. dt:uuid를 지정하지 않으면 XML 대량 로드에서는 중괄호가 포함된 문자열을 허용하고 필요한 경우 중괄호를 제거합니다.

  • XML 데이터가 bin.base64 또는 bin.hex 형식이면 dt:type을 사용하여 XML 데이터 형식을 지정해야 합니다. 그러면 XML 대량 로드에서는 데이터의 16진수 표현으로 SQL Server에 데이터를 로드합니다.