XML 데이터의 보고서 데이터 집합 만들기
Reporting Services는 XML 데이터 원본에서 보고서 데이터를 검색할 수 있도록 하는 데이터 처리 확장 프로그램을 제공합니다. 보고서에서 XML 문서 및 웹 서비스의 데이터를 사용하거나 쿼리에 XML을 포함할 수 있습니다. SQL Server 데이터베이스에서 XML 문서를 검색하는 작업은 기본적으로 지원되지 않습니다.
XML 데이터 원본에 연결하여 데이터 검색
보고서의 XML 데이터를 검색하려면 웹 서비스 또는 XML 문서 URL을 지정하는 연결 문자열을 사용하여 데이터 원본을 만듭니다. 빈 연결 문자열을 사용하여 데이터 원본을 만들고 데이터 집합 쿼리에 XML 데이터를 포함할 수도 있습니다.
각 XML 데이터 원본에는 다음과 같은 특징이 있어야 합니다.
데이터 원본 유형은 XML이어야 합니다. Reporting Services는 보고서의 데이터를 검색하고 처리하기 위해 XML 데이터 처리 확장 프로그램을 제공합니다.
Windows 통합 보안을 위한 자격 증명이 구성되어 있거나 자격 증명이 구성되어 있지 않아야 합니다.
저장된 자격 증명 및 입력 정보를 요청하는 자격 증명은 지원되지 않습니다. Windows 통합 보안을 사용하지 않도록 설정한 경우 이를 사용하여 데이터를 검색할 수 없습니다. 저장된 자격 증명 및 입력 정보를 요청하는 자격 증명을 지정할 경우 런타임에 오류가 발생합니다.
자격 증명을 사용하지 않도록 선택하는 경우 익명 액세스가 사용됩니다. 보고서 서버에서 외부 데이터 원본에 연결할 수 있도록 무인 실행 계정을 정의했는지 확인합니다. XML 데이터 처리 확장 프로그램에서는 자격 증명을 대상 URL이나 웹 서비스로 전달하지 않으므로 무인 실행 계정을 정의하지 않은 경우에는 연결이 실패합니다. 자세한 내용은 무인 실행 계정 구성을 참조하십시오.
연결 문자열은 HTTP를 통해 사용할 수 있는 웹 서비스, 웹 기반 응용 프로그램 또는 XML 문서를 가리키는 URL이어야 합니다. XML 문서에는 XML 확장명을 사용해야 합니다. 데이터 집합 쿼리에 포함된 XML 데이터의 경우 빈 연결 문자열을 사용할 수도 있습니다.
쿼리는 XML 데이터를 반환해야 합니다. XML 문서의 경우 XML 보고서 데이터를 지정하기 위한 요소 경로 구문에서 설명한 대로 XQuery와 유사한 XML 구문을 사용하여 요소 경로를 지정할 수 있습니다. 웹 서비스의 경우 호출할 메서드나 SOAP 동작을 지정하는 <Query> 요소를 지정할 수 있습니다. XML 데이터 원본에 보고서에 사용할 데이터를 생성하는 계층 구조가 있는 경우 쿼리를 비워 두고 기본 쿼리를 사용할 수 있습니다. 쿼리가 실행될 때 검색되는 XML 요소 노드 값 및 특성은 보고서에서 사용하는 데이터 집합 필드에 매핑됩니다.
쿼리를 만들려면 텍스트 기반 쿼리 디자이너를 사용해야 합니다. 매개 변수 식별을 위해 쿼리가 분석되지 않으므로 데이터 집합 속성 대화 상자의 매개 변수 페이지를 통해 매개 변수를 만들어야 합니다. 쿼리 구문에 대한 자세한 내용은 XML 보고서 데이터를 지정하기 위한 XML 쿼리 구문을 참조하십시오. 일반 쿼리 디자이너에 대한 자세한 내용은 Reporting Services의 쿼리 디자인 도구를 참조하십시오.
XML 데이터 원본에 대한 연결 문자열
다음 예에서는 웹 서비스 및 XML 문서에 대한 각각의 연결 문자열 구문을 보여 줍니다. file:// 프로토콜은 지원되지 않습니다.
XML 문서 유형 |
연결 문자열 예 |
---|---|
웹 서비스 |
http://adventure-works.com/results.aspx |
XML 문서 |
https://localhost/XML/Customers.xml |
포함 XML 문서 |
비어 있음 |
데이터 원본을 정의하는 방법은 방법: 포함된 데이터 원본 또는 공유 데이터 원본 만들기을 참조하십시오.
XML 데이터 원본을 사용하여 데이터 집합 쿼리
데이터 집합에는 데이터 원본에 대해 실행되어 특정 결과 집합을 검색하는 명령 텍스트인 쿼리가 포함되어 있습니다. 결과 집합은 데이터 집합의 필드 컬렉션에 매핑됩니다. 데이터 집합에 필터 값을 설정하여 데이터 원본에서 검색되는 결과를 제한할 수도 있습니다. 다음 표에서는 XML 형식의 데이터 원본에 대한 데이터 집합 쿼리에서 사용할 수 있는 값을 보여 줍니다.
데이터 집합 쿼리 |
설명 |
---|---|
비어 있음 |
기본 결과 집합을 만들려면 빈 쿼리를 사용합니다. 기본 쿼리는 데이터 원본을 읽고 XML 노드 계층에서 첫 번째 리프 컬렉션까지 탐색하도록 만들어집니다. 결과 집합에는 텍스트 값이 있는 모든 노드와 해당 경로의 모든 노드 특성이 포함됩니다. 결과 집합의 열은 데이터 집합의 필드에 매핑됩니다. |
요소 경로 |
데이터 원본에서 XML 데이터를 검색할 때 사용할 노드 시퀀스를 지정합니다. |
XML 쿼리 요소 |
다음과 같은 선택적 요소를 포함하는 XML 쿼리 사양입니다.
XML 데이터 원본필수 XML 요소선택적 XML 요소
웹 서비스의 경우 <Method Namespace= "namespace" Name="MethodName" /> -- or -- <SoapAction> soap action </SoapAction> <ElementPath> element path </ElementPath> <Method Namespace= "namespace" Name="MethodName" /> -- or -- <SoapAction> soap action </SoapAction>
XML 문서의 경우 <ElementPath> element path </ElementPath>
포함 XML 문서의 경우 <XmlData> inner XML </XmlData> <ElementPath> element path </ElementPath> -- or -- <ElementPath IgnoreNamespaces="true"> element path </ElementPath>
XML 쿼리 요소를 사용하여 네임스페이스를 지정하거나 XML ElementPath에 IgnoreNamespaces 특성을 지정하여 해당 네임스페이스를 무시할 수 있습니다. XML 쿼리 요소에 대한 자세한 내용은 XML 보고서 데이터를 지정하기 위한 XML 쿼리 구문을 참조하십시오. 요소 경로 구문에 대한 자세한 내용은 XML 보고서 데이터를 지정하기 위한 요소 경로 구문을 참조하십시오. |
XML 웹 서비스 데이터 검색을 위한 요구 사항
XML 데이터 처리 확장 프로그램은 스키마를 검색하지 않습니다. 따라서 다른 방법으로 원하는 데이터를 검색할 SOAP 메서드를 찾아야 합니다. 또한 웹 서비스에서 해당 데이터에 사용하는 주소 지정 스키마나 네임스페이스에 대해 이해하고 있어야 합니다.
XML 문서 데이터 검색을 위한 요구 사항
http 프로토콜을 사용할 경우 서버에서 XML 데이터를 반환하거나 XML 데이터가 XML Query 요소에 포함되어 있어야 합니다. http 프로토콜을 사용하여 XML 문서를 직접 참조하려면 해당 문서의 확장명이 .xml이어야 합니다. 필요한 모든 데이터를 검색하는 XML 쿼리를 만드는 방법을 알고 있어야 합니다. 요소 경로를 지정하지 않으면 XML 문서를 구문 분석하는 기본 동작에 따라 XML 문서의 리프 노드 컬렉션에 대한 첫 번째 사용 가능 경로가 선택됩니다. XML 문서에 다른 형제 리프 노드 컬렉션에 대한 추가 경로가 포함되어 있는 경우 쿼리에 경로를 지정하지 않으면 해당 노드는 무시됩니다. 자세한 내용은 XML 보고서 데이터를 지정하기 위한 요소 경로 구문을 참조하십시오.