다음을 통해 공유


sql:url-encode를 사용하여 BLOB 데이터에 대한 URL 참조 요청(XDR 스키마)

중요 정보중요

이 항목은 레거시 응용 프로그램에 대한 참조용으로 포함되었습니다. 이 기능에 대해서는 이후 개발 작업이 진행되지 않습니다. 새 개발 작업에서는 이 기능을 사용하지 마십시오. 대신 주석이 추가된 XSD 스키마를 사용하여 XML 뷰를 만드십시오. 자세한 내용은 주석이 추가된 XSD 스키마 소개(SQLXML 4.0)를 참조하십시오. 주석이 추가된 기존 XDR 스키마를 XSD 스키마로 변환할 수 있습니다. 자세한 내용은 주석이 추가된 XDR 스키마를 해당 XSD 스키마로 변환(SQLXML 4.0)을 참조하십시오.

주석이 추가된 XDR 스키마에서 특성(또는 요소)이 Microsoft SQL Server의 BLOB 열에 매핑된 경우 XML 내의 Base 64 인코딩 형식으로 데이터가 반환됩니다. SQL Server 데이터 형식 및 해당 XML 데이터 형식에 대한 설명은 데이터 형식 강제 변환(XDR 스키마)을 참조하십시오.

나중에 이진 형식으로 BLOB 데이터를 검색하는 데 사용할 수 있는 데이터 참조(URI)를 반환하려는 경우 sql:url-encode 주석을 지정합니다.

필드 값 대신 필드에 대한 URL이 반환되도록 하려면 sql:url-encode 주석을 지정합니다. sql:url-encode는 기본 키를 사용하여 URL에 단일 선택을 생성합니다. sql:key-fields 주석을 사용하여 기본 키를 지정할 수 있습니다. 자세한 내용은 sql:key-fields(SQLXML 4.0)를 사용하여 키 열 식별을 참조하십시오.

sql:url-encode 주석은 부울 형식의 값(0 = FALSE, 1 = TRUE)을 사용합니다. sql:url-encode는 sql:use-cdata와 함께 사용하거나 특성 유형 ID, IDREF, IDREFS, NMTOKEN 또는 NMTOKENS에서 사용할 수 없습니다.

다음 예를 사용하여 작업 예제를 만들려면 특정 요구 사항이 충족되어야 합니다. 자세한 내용은 SQLXML 예 실행을 위한 요구 사항을 참조하십시오.

1. sql:url-encode를 지정하여 BLOB 데이터에 대한 URL 참조 얻기

이 예에서 매핑 스키마는 LargePhoto 특성에 sql:url-encode를 지정하여 Base 64 인코딩 형식으로 이진 데이터를 검색하는 대신 제품 사진에 대한 URI 참조를 검색합니다.

<?xml version="1.0" ?>
<Schema xmlns="urn:schemas-microsoft-com:xml-data"
   xmlns:dt="urn:schemas-microsoft-com:datatypes"
   xmlns:sql="urn:schemas-microsoft-com:xml-sql">
   <ElementType name="ProductPhoto" sql:relation="Production.ProductPhoto" 
                 sql:key-fields="ProductPhotoID" >
      <AttributeType name="ProductPhotoID" />
      <AttributeType name="LargePhoto" />

      <attribute type="ProductPhotoID" />
      <attribute type="LargePhoto" sql:url-encode="1" />
   </ElementType>
</Schema>

스키마에 대해 예제 XPath 쿼리를 테스트하려면

  1. 위 스키마 코드를 복사한 후 텍스트 파일에 붙여넣습니다. 파일을 UrlEncodeXdr.xml로 저장합니다.

  2. 다음 템플릿을 복사한 후 텍스트 파일에 붙여넣습니다. UrlEncodeXdr.xml을 저장한 디렉터리와 같은 디렉터리에 UrlEncodeXdrT.xml로 파일을 저장합니다.

    <ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
      <sql:xpath-query mapping-schema="UrlEncodeXdr.xml">
        /ProductPhoto[@ProductPhotoID=100]
      </sql:xpath-query>
    </ROOT>
    

    매핑 스키마(UrlEncodeXdr.xml)에 대해 지정된 디렉터리 경로는 템플릿이 저장된 디렉터리에 상대적입니다. 또한 다음과 같이 절대 경로를 지정할 수 있습니다.

    mapping-schema="C:\MyDir\UrlEncodeXdr.xml"
    
  3. SQLXML 4.0 테스트 스크립트(Sqlxml4test.vbs)를 만든 다음 이 스크립트를 사용하여 템플릿을 실행합니다.

    자세한 내용은 ADO를 사용하여 SQLXML 4.0 쿼리 실행을 참조하십시오.

결과 집합은 다음과 같습니다.

<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
  <ProductPhoto ProductPhotoID="100" LargePhoto="dbobject/Production.ProductPhoto[@ProductPhotoID="100"]/@LargePhoto"/>
</ROOT>

참고 항목

참조