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 쿼리를 테스트하려면
위 스키마 코드를 복사한 후 텍스트 파일에 붙여넣습니다. 파일을 UrlEncodeXdr.xml로 저장합니다.
다음 템플릿을 복사한 후 텍스트 파일에 붙여넣습니다. 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"
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>