SQLXMLOLEDB 공급자 소개(SQLXML 4.0)
SQLXMLOLEDB 공급자는 ADO(ActiveX Data Objects)를 통해 Microsoft SQLXML 기능을 노출하는 OLE DB 공급자입니다. 하지만 이 공급자는 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 공급자의 PROGID를 제공합니다. SQLXML 4.0 및 SQL Server 2005부터 이 공급자는 SQL Server Native Client 내에 포함되어 있으므로 이 속성 값은 "SQLNCLI10"으로 제한됩니다. 자세한 내용은 SQL Server 2008 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이 캐시되지 않습니다. |