ReportViewer에 원격 처리 구성

ReportViewer 컨트롤에서 SQL Server Reporting Services 보고서 서버의 처리 기능을 사용하도록 구성할 수 있습니다. 보고서 서버는 데이터를 처리하고 보고서를 출력 형식으로 렌더링합니다. 그러면 ReportViewer 컨트롤이 렌더링된 출력을 화면에 표시합니다.

서버 보고서를 사용하려면 SQL Server 2008 이상의 Reporting Services 보고서 서버에 액세스할 수 있어야 합니다. 브라우저 창을 열고 URL 주소에 보고서 서버 URL과 보고서 경로를 입력하여 보고서에 대한 액세스 권한이 있는지 확인할 수 있습니다. 보고서 서버에 대한 연결을 구성할 때는 사용하는 계정에 보고서를 볼 수 있는 권한이 있는지 확인합니다.

ReportViewer에 원격 처리 구성 방법

ReportViewer 컨트롤에 원격 처리를 구성하려면 컨트롤에 사용할 서버 보고서를 지정해야 합니다. 다음 단계에 따라 서버 보고서를 선택합니다.

  1. 도구 상자 보고 섹션의 ReportViewer 컨트롤을 프로젝트의 폼이나 웹 페이지에 추가합니다.

  2. ReportViewer 태스크 스마트 태그 패널의 보고서 선택에서 서버 보고서를 선택합니다.

  3. 보고서 서버 텍스트 상자에 보고서 서버 URL을 입력합니다. 기본 URL 구문은 https://localhost/reportserver입니다. 설치에 사용되는 실제 URL은 보고서 서버 가상 디렉터리 설정의 구성 방법에 따라 달라질 수 있습니다.

  4. 보고서 경로 입력란에 게시된 보고서의 정규화된 경로를 입력합니다. 기본 모드의 보고서 서버에 있는 보고서를 참조하는 경우에는 보고서 경로가 슬래시( / )로 시작하고, SharePoint 통합 모드의 보고서 서버에 있는 보고서를 참조하는 경우에는 보고서 경로가 정규화된 URL입니다. 예를 들면 다음과 같습니다.

    기본 모드: /Adventureworks 2008 Sample Reports/Company Sales 2008

    SharePoint 통합 모드: http://MyServer/sites/MySite/MyLibrary/Adventureworks 2008 Sample Reports/Company Sales 2008.rdl

  5. 응용 프로그램을 빌드하거나 배포하여 보고서가 응용 프로그램에 올바르게 나타나는지 확인합니다.

서버 보고서 특징 이해

다음 표에서는 원격으로 처리되는 서버 보고서의 특징을 설명합니다.

보고서 처리

서버 보고서는 SQL Server 2008 이상의 Reporting Services 보고서 서버에서 실행됩니다. 서버 보고서는 Business Intelligence Development Studio 또는 보고서 작성기에서 만들어지는 보고서 정의 파일(.rdl)입니다. 

데이터 처리

서버 보고서는 보고서 서버의 데이터 처리 확장 프로그램을 사용하여 결과 집합에 연결하고 해당 집합을 처리합니다. 기본 데이터 처리 확장 프로그램은 SQL Server, Analysis Services, SQL Server Integration Services, Oracle, SAP NetWeaver® Business Intelligence, XML, ODBC 및 OLE DB 데이터 소스에 대해 제공됩니다. 사용자 지정 데이터 처리 확장 프로그램을 만들거나 사용하여 다른 데이터 형식을 지원할 수 있습니다.

클라이언트 보고서와 달리 서버 보고서는 보고서 정의에 데이터 원본 연결 정보와 하나 이상의 쿼리를 포함합니다. 원격 처리 모드에서는 데이터 처리 및 보고서 처리가 모두 보고서 서버에서 수행됩니다.

매개 변수화

서버 보고서를 처리할 때 ReportViewer 컨트롤은 사용자가 기본 데이터 소스를 쿼리할 때 사용할 매개 변수 값을 입력하거나 선택할 수 있도록 보고서 맨 위에 매개 변수 프롬프트 영역을 표시할 수 있습니다. 로컬 보고서를 처리할 때 ReportViewer는 데이터 검색을 수행하지 않기 때문에 매개 변수 프롬프트 영역을 표시하지 않습니다. 따라서 수동으로 사용자에게 매개 변수를 묻는 메시지를 표시하고 응용 프로그램에서 직접 사용자 입력을 기반으로 데이터 처리를 수행해야 합니다. 로컬 보고서에 대한 자세한 내용은 ReportViewer에 로컬 처리 구성을 참조하십시오.

외부 서버에 연결

서버 보고서에 사용되는 데이터 소스는 일반적으로 다른 서버의 외부 데이터 소스에서 데이터를 검색합니다. 응용 프로그램에서 서버 보고서를 실행하는 경우 보고서 서버가 외부 데이터 소스에 연결하고 이 데이터 소스에서 보고서 데이터를 검색하는 방법을 이해해야 합니다. 예를 들어 보고서에서 Windows 통합 보안을 사용하는 경우 네트워크에 Kerberos 인증을 사용할 수 있는 등의 NTLM "이중 홉" 문제를 방지하도록 응용 프로그램이나 네트워크를 설정해야 합니다. 자세한 내용은 Authentication Types in Reporting ServicesUnderstanding Kerberos Double Hop을 참조하십시오.

ReportViewer 컨트롤은 자격 증명 확인 페이지를 제공하지 않습니다. 폼 기반 인증을 사용하는 보고서 서버에 연결하는 경우 응용 프로그램에서 로그온 페이지를 제공해야 합니다.

보고서 관리

서버 보고서는 보고서 서버에서 관리됩니다. 보고서 서버 관리자는 보고서에 대한 액세스 권한을 제공하는 역할 할당을 수정하고 데이터 원본 연결을 다시 구성하며 보고서를 업데이트, 이동, 이름 변경 또는 삭제할 수 있습니다. 이러한 모든 변경 내용은 응용 프로그램에서 실행되는 보고서에 영향을 주거나 실행을 차단할 수 있습니다. 응용 프로그램에서 서버 보고서를 사용하는 경우 응용 프로그램이 배포된 후의 관리 방법을 이해해야 합니다.

SQL Server Reporting Services의 보고서 디자인, 데이터 검색, 배포 및 보안 설정에 대한 자세한 내용은 msdn.microsoft.com에서 SQL Server 온라인 설명서를 참조하십시오.

원격 처리 사용 시기

서버 기반 보고를 사용하면 보고서 저장 및 관리를 중앙 집중화하고, 보고서 및 폴더에 대한 정책과 보안 액세스를 설정하고, 보고서 처리 및 배포 방법을 제어하고, 비즈니스에 보고서가 사용되는 방법을 표준화할 수 있습니다. Reporting Services는 단일 서버, 분산 환경 및 클러스터형 구성에 설치할 수 있습니다. 보고서에 다음과 같은 특징이 있으면 원격 처리의 사용을 고려해 보십시오.

  • 많은 사용자가 보고서에 액세스합니다.

  • 보고서에 매우 복잡한 쿼리나 매우 많은 양의 데이터가 있습니다.

  • 보고서가 이미 보고서 서버에 게시되어 있으며 새로 만들어 배포할 응용 프로그램에 해당 보고서를 포함하려고 합니다.

원격 처리를 수행하려면 SQL Server 정품에 대한 액세스 권한이 있어야 합니다. 그러면 응용 프로그램에서 구독, 캐싱, 보안, 추가 렌더링 형식 등의 풍부한 기능을 사용할 수 있습니다. SQL Server Reporting Services의 원격 처리 기능에 대한 자세한 내용은 SQL Server 온라인 설명서의 Reporting Services and ReportViewer Controls in Visual Studio을 참조하십시오.

참고 항목

개념

RDLC 파일을 RDL 파일로 변환

ReportViewer 컨트롤 추가 및 구성

ReportViewer에 로컬 처리 구성

보고서 및 ReportViewer 컨트롤 배포