SQLXMLOLEDB 공급자 소개(SQLXML 4.0)

SQLXMLOLEDB 공급자는 ADO(ActiveX Data Objects)를 통해 Microsoft SQLXML 기능을 노출하는 OLE DB Provider입니다. 하지만 이 공급자는 ADO의 "출력 스트림에 쓰기" 모드에서만 명령을 실행할 수 있습니다. SQLXMLOLEDB 공급자는 행 집합 공급자가 아닙니다. 명령을 실행할 때 지정한 출력 스트림을 사용하도록 ADO에 지시하는 adExecuteStream 플래그를 지정해야 합니다.

다음 예에서는 adExecuteStream 플래그가 지정된 Execute 명령 구문을 보여 줍니다.

Dim oTestCommand As New ADODB.Command
...
oTestCommand.Properties("Output Stream").Value = oTestStream
oTestCommand.Execute , , adExecuteStream
...

SQLXMLOLEDB 공급자별 속성

SQLXMLOLEDB 공급자는 다음과 같은 공급자별 연결 속성을 노출합니다.

연결

속성

기본값

(있는 경우)

설명

Data Provider

 

SQLXMLOLEDB에서 명령을 실행하는 데 사용하는 OLE DB Provider의 PROGID를 제공합니다. SQLXML 4.0 및 SQL Server 2005부터 이 공급자는 SQL Server Native Client 내에 포함되어 있으므로 이 속성 값은 "SQLNCLI11"으로 제한됩니다. 자세한 내용은 SQL Server Native Client 프로그래밍을 참조하십시오.

SQLXMLOLEDB 공급자는 다음과 같은 공급자별 명령 속성을 노출합니다.

명령

속성

기본값

(있는 경우)

설명

Base Path

""

기본 파일 경로를 지정합니다. 기본 파일 경로는 XSL(XML Stylesheet Language) 또는 매핑 스키마 파일의 위치를 지정하는 데 사용됩니다. 또한 기본 파일 경로는 XSL 또는 Mapping Schema 속성에 지정된 XSL 또는 매핑 스키마 파일의 상대 경로를 확인하는 데 사용됩니다.

이 속성이 사용되는 예는 XPath 쿼리 실행(SQLXMLOLEDB 공급자)을 참조하십시오.

ClientSideXML

False

행 집합을 XML로 변환하는 프로세스가 서버 대신 클라이언트에서 수행되도록 하려면 이 속성을 True로 설정합니다. 이 속성은 성능 부하를 중간 계층으로 이동하려는 경우에 유용합니다.

이 속성이 사용되는 예는 SQL 쿼리 실행(SQLXMLOLEDB 공급자) 또는 SQL 쿼리를 포함하는 템플릿 실행(SQLXMLOLEDB 공급자)을 참조하십시오.

Content Type

 

출력 내용 유형을 반환합니다. READ ONLY 속성입니다.

이 속성은 내용 유형(예: TEXT/XML, TEXT/HTML, image/jpeg 등)에 대한 정보를 브라우저에 제공합니다. 이 속성 값은 HTTP 헤더의 일부로 브라우저에 전달되는 content-type 필드가 됩니다. HTTP 헤더에는 본문으로 전송되는 문서의 MIME(Multipurpose Internet Mail Extensions) 형식이 포함되어 있습니다.

Mapping Schema

NULL

클라이언트 응용 프로그램이 매핑 스키마(XDR 또는 XSD)에 대해 XPath 쿼리를 실행하는 경우 이 속성은 매핑 스키마의 이름을 지정하는 데 사용됩니다.

지정된 경로는 상대 경로(xyz/abc/MySchema.xml) 또는 절대 경로(C:\MyFolder\abc\MySchema.xml)일 수 있습니다.

상대 경로를 지정할 경우 Base Path 속성에 지정된 기본 경로를 사용하여 상대 경로가 확인됩니다. Base Path 속성에 지정된 경로가 없는 경우 상대 경로는 현재 디렉터리에 상대적입니다.

Mapping Schema 속성 값을 지정할 때 로컬 디렉터리 경로나 URL(http://...)을 지정할 수 있습니다. URL을 지정하는 경우 프록시 서버를 통해 HTTP 및 HTTPS 서버에 액세스하도록 WinHTTP를 구성해야 합니다. Proxycfg.exe 유틸리티를 실행하여 이 작업을 수행할 수 있습니다. 자세한 내용은 MSDN 라이브러리의 "WinHTTP 프록시 구성 유틸리티 사용"을 참조하십시오.

이 속성이 사용되는 예는 XPath 쿼리 실행(SQLXMLOLEDB 공급자)을 참조하십시오.

namespaces

 

이 속성을 사용하면 네임스페이스를 사용하는 XPath 쿼리를 실행할 수 있습니다. 이 속성이 사용되는 예는 네임스페이스가 있는 XPath 쿼리 실행(SQLXMLOLEDB 공급자)을 참조하십시오.

ss Stream Flags

 

이 속성은 보안 제한의 특정 유형을 지정하는 데 사용됩니다. 예를 들어 파일에 대한 URL 참조나 파일(예: 외부 사이트)에 대한 절대 경로를 허용하지 않을 수 있습니다. 또는 템플릿에서 쿼리를 허용하지 않을 수도 있습니다.

이 속성에는 다음과 같은 값을 할당할 수 있습니다.

1 = STREAM_FLAGS_DISALLOW_URL 2 = STREAM_FLAGS_DISALLOW_ABSOLUTE_PATH 4 = STREAM_FLAGS_DISALLOW_QUERY 8 = STREAM_FLAGS_       DONTCACHEMAPPINGSCHEMA 16 = STREAM_FLAGS_DONTCACHETEMPLATE 32 = STREAM_FLAGS_DONTCACHEXSL

다음 표에서는 이러한 값에 대한 추가 정보를 제공합니다.

xml root

 

이 속성은 결과 XML의 루트 태그를 정의하는 데 사용됩니다. 예를 들어 데이터베이스에 대해 SQL 쿼리를 실행하고 결과 XML 문서에 단일 루트 요소가 없는 경우 이 속성 값을 사용하여 문서에 단일 루트 요소를 추가합니다.

이 속성이 사용되는 예는 SQL 쿼리 실행(SQLXMLOLEDB 공급자)을 참조하십시오.

xsl

 

이 속성은 쿼리에서 반환된 XML 문서에 XSL 변환을 적용하려는 경우 XSL 파일 이름을 지정하는 데 사용됩니다.

지정된 경로는 상대 경로(xyz/abc/MyXSL.xsl) 또는 절대 경로(C:\MyFolder\abc\MyXSL.xsl)일 수 있습니다.

상대 경로를 지정할 경우 Base Path 속성에 지정된 기본 경로를 사용하여 상대 경로가 확인됩니다. Base Path 속성에 지정된 경로가 없는 경우 상대 경로는 현재 디렉터리에 상대적입니다.

이 속성이 사용되는 예는 Applying an XSL Transformation (SQLXMLOLEDB Provider)을 참조하십시오.

다음 표에서는 ss Stream Flags 속성 값에 대해 설명합니다.

속성 값

설명

STREAM_FLAGS_DISALLOW_URL

매핑 스키마 또는 XSL에 URL을 사용할 수 없습니다.

STREAM_FLAGS_DISALLOW_ABSOLTE_PATH

매핑 스키마 또는 XSL에 대해 지정된 경로는 템플릿 자체의 기본 경로에 상대적이어야 합니다.

STREAM_FLAGS_DISALLOW_QUERY

템플릿에 쿼리를 사용할 수 없습니다.

STREAM_FLAGS_DONTCACHEMAPPINGSCHEMA

매핑 스키마가 캐시되지 않습니다. 이 속성 값은 데이터베이스 스키마가 변경될 수 있는 데이터베이스 개발 단계에서 유용합니다.

STREAM_FLAGS_DONTCACHETEMPLATE

템플릿이 캐시되지 않습니다.

STREAM_FLAGS_DONTCACHEXSL

XSL이 캐시되지 않습니다.