Visual Studio의 Reporting Services 및 ReportViewer 컨트롤

ReportViewer 컨트롤은 Visual Studio 응용 프로그램 프로젝트의 웹 페이지 또는 Visual Basic 응용 프로그램의 폼에 추가할 수 있는 Visual Studio 데이터 컨트롤입니다. 이 컨트롤은 보고서를 처리하고 보는 기능을 응용 프로그램에 직접 포함시킵니다. 또한 ADO.NET 데이터 개체의 데이터를 사용하여 클라이언트 보고서 정의(.rdlc)를 작성할 수 있도록 통합 디자인 환경을 제공합니다. 완전한 기능을 갖춘 API를 통해 컨트롤과 보고서에 프로그래밍 방식으로 액세스하므로 런타임에 보고서 기능을 구성할 수 있습니다.

ReportViewer 컨트롤은 Reporting Services와 동일한 Microsoft 보고 기술을 기반으로 구축되지만 Visual Studio에서는 데이터 컨트롤로 배포됩니다. 이 컨트롤은 Reporting Services에서 사용하거나 다양한 보고 기능을 제공하는 포함된 데이터 컨트롤로 사용할 수 있습니다.

ReportViewer 컨트롤에 대한 자세한 내용은 Visual Studio 제품 설명서에서 "ReportViewer 컨트롤"을 검색하십시오.

기능 요약

다음 표에서는 보고서 처리, 데이터 검색, 배포 및 보고서 디자인에 대해 ReportViewer 컨트롤과 Reporting Services가 어떻게 비교되는지 보여 줍니다. 이 정보를 사용하여 사용자의 응용 프로그램에 가장 잘 맞는 Microsoft 보고 기술을 결정할 수 있습니다.

기능

ReportViewer 컨트롤

SQL Server Reporting Services

보고서 처리

클라이언트 응용 프로그램에서 보고서를 처리하거나(로컬 모드) 원격 SQL ServerReporting Services 보고서 서버에서 실행되는 서버 보고서를 호스팅합니다(원격 모드).

인터넷 정보 서비스(IIS)에서 실행되는 중간 계층 웹 서비스인 보고서 서버에서 보고서를 처리합니다.

보고서 출력 형식

Windows 응용 프로그램에서 실행되는 보고서의 경우 GDIASP.NET 웹 페이지에서 실행되는 보고서의 경우 HTML

내보내기 형식은 Microsoft Excel 및 PDF입니다.

HTML, MHTML, TIFF, PDF, Excel, CSV 및 XML

사용자 지정 출력 형식을 작성할 수 있습니다.

보고서 기능

다차원, 관계형 및 비주얼 데이터에 대한 대화형 및 정적 보고서

보고서에서 실행되는 사용자 지정 어셈블리를 정의할 수 있습니다.

식을 사용하여 조건부 서식 및 집계를 제공할 수 있습니다.

보고서 기능에는 ReportViewer 컨트롤에서 실행되는 보고서에 제공되는 모든 기능과 함께 보고서에서 만들고 실행할 수 있는 사용자 지정 보고서 컨트롤에 대한 지원이 포함됩니다.

데이터 원본 유형 및 데이터 검색

클라이언트측 처리

ADO.NET 데이터 테이블에 직접 바인딩하고 해당 컨트롤에 제공된 DataTable 인스턴스를 사용합니다. 비즈니스 개체에도 직접 바인딩할 수 있습니다. 데이터 처리는 보고서 처리와 별개입니다. 응용 프로그램에서 보고서에 행 집합을 제공합니다. 컨트롤이 행 집합을 보고서로 병합하고 출력 형식으로 렌더링합니다.

서버측 처리

보고서에는 지원되는 데이터 원본 유형의 데이터가 들어 있습니다. 보고서 서버에서 데이터 처리와 렌더링이 수행된 다음 보고서가 ReportViewer 컨트롤에 로드됩니다.

보고서 서버 및 원격 데이터 서버에서의 통합 데이터 및 보고서 처리

보고서 서버의 데이터 처리 확장 프로그램에 따라 지원되는 데이터 원본 유형이 달라집니다. 기본 데이터 원본은 SQL Server, Analysis Services, SQL ServerIntegration Services, Oracle, XML, OLEDB입니다.

다른 데이터 원본 유형을 지원하도록 사용자 지정 데이터 처리 확장 프로그램을 만들 수 있습니다.

보고서 매개 변수화

클라이언트측 처리

보고서 매개 변수에 대한 기본 제공 지원으로부터 정적 값에 기반한 결과 집합의 조건부 서식과 필터링이 제공됩니다.

런타임에 쿼리 매개 변수 또는 보고서 매개 변수에 대한 사용자 입력을 허용하려는 경우 응용 프로그램에 이를 지원하는 코드를 작성해야 합니다.

Reporting Services 보고서와 달리 로컬 모드에서 실행되는 ReportViewer 컨트롤은 데이터 처리 중 사용되는 값을 전달하는 데 사용할 수 있는 매개 변수 입력 영역을 제공하지 않습니다. 로컬 모드의 ReportViewer 컨트롤에서는 데이터 처리와 보고서 처리 간 통합이 없습니다.

보고서 매개 변수는 조건부 서식을 지원하고 쿼리 매개 변수로 매핑될 수 있으므로 런타임에 보고서 매개 변수 값을 쿼리로 전달할 수 있는 방법을 제공합니다. 기본적으로 매개 변수 입력 영역이 보고서에 제공됩니다. 매개 변수 속성은 디자인 타임에 정의하고 런타임에 관리할 수 있습니다.

보고서 디자인 및 Visual Studio 통합

Visual Studio에서 클라이언트 보고서 정의 파일(.rdlc)을 만듭니다. 보고서 템플릿을 프로젝트에 추가하면 보고서 정의 파일이 만들어져 프로젝트에 추가되며 Visual Studio 작업 영역에서 통합 보고서 디자이너가 열립니다.

Visual Studio 데이터 소스 마법사를 사용하면 나중에 보고서에서 사용할 수 있도록 응용 프로그램에 데이터를 제공할 수 있습니다.

Visual Studio 보고서 디자이너에는 미리 보기 탭이 없습니다. 보고서를 미리 보려면 응용 프로그램을 실행하고 응용 프로그램에 포함된 보고서를 미리 봅니다.

Visual Studio 보고서 디자이너는 데이터 소스 창과 통합됩니다. 사용자가 데이터 소스 창에서 보고서로 필드를 끌어 놓으면 보고서 디자이너는 데이터 원본에 대한 메타데이터를 보고서 정의 파일에 복사합니다. 이 메타데이터는 ReportViewer 컨트롤에서 데이터 바인딩 코드를 자동으로 생성하는 데 사용됩니다.

Business Intelligence Development Studio를 통해 Visual Studio에서 보고서 정의를 만듭니다. Business Intelligence Development Studio가 SQL Server 구성 요소와 관련된 프로젝트 템플릿을 추가합니다. 보고서를 만들려면 보고서 서버 프로젝트 또는 보고서 서버 프로젝트 마법사 템플릿에서 선택합니다.

데이터 탭, 레이아웃 탭 및 미리 보기 탭을 사용하여 데이터를 정의하고 보고서 레이아웃을 만들며 동일한 작업 영역에서 보고서를 미리 볼 수 있습니다.

배포

재배포 가능 컨트롤과 .rdlc 파일은 응용 프로그램에 포함될 수 있습니다. 보고서 정의를 스트림으로 전달할 수도 있습니다.

ReportViewer는 사용자가 만들고 배포하는 응용 프로그램의 폼이나 웹 페이지에 보고서를 호스팅합니다.

ReportViewer 도구 모음은 페이지 탐색, 인쇄, 검색 및 내보내기 형식을 제공하여 런타임 작업을 지원합니다.

SQL ServerReporting Services 보고서 서버를 배포합니다. 보고서 정의는 보고서 서버 데이터베이스에 저장되고 서버에서 처리되며 브라우저 기반 응용 프로그램이나 사용자 지정 응용 프로그램에서 볼 수 있습니다.

보고서 도구 모음은 페이지 탐색, 인쇄, 검색 및 내보내기 형식을 제공합니다.

보기 도구 및 SharePoint 웹 파트를 사용하여 요청 시 보고서를 볼 수 있습니다.

배포 기능에는 전자 메일 주소 및 파일 공유 위치로 구독 기반 보고서를 배달하는 기능이 포함됩니다.

인터넷 액세스

인터넷 연결 웹 응용 프로그램에서 보고서를 사용할 수 있게 하려는 경우 웹 페이지에 호스팅된 ReportViewer 컨트롤을 사용하는 것이 좋습니다.

응용 프로그램에서 지원하는 보안 인프라를 사용하여 컨트롤과 보고서를 기존 웹 응용 프로그램에 맞출 수 있습니다.

인터넷 액세스를 위해 Reporting Services 보고서 서버를 구성할 수 있습니다. 응용 프로그램 및 사용자 요구 사항에 따라 사용자 지정 인증 확장 프로그램을 만들고, 구성 파일을 수정하며, SSL(Secure Sockets Layer)에 대해 서버를 구성해야 할 수 있습니다. 자세한 내용은 엑스트라넷 또는 인터넷 배포 계획을 참조하십시오.

엔터프라이즈 기능

이 기능은 컨트롤에 없습니다. 그러나 엔터프라이즈 기능을 제공하는 다른 응용 프로그램에서 컨트롤을 사용할 수 있습니다.

ReportViewer 컨트롤은 Windows Forms 응용 프로그램과 ASP.NET 웹 페이지에 포함되는 미리 정의된 보고서를 제공하는 데 이상적입니다.

ReportViewer 컨트롤은 보고서 서버 확장 배포에 있는 보고서를 호스팅할 수 있습니다. 보고서 서버 배포는 컨트롤에서는 인식하지 못하는 사이에 이루어집니다.

고가용성 배포 모델에서 실행되는 사용자 지정 응용 프로그램에서 컨트롤을 사용할 수 있습니다.

Reporting Services는 다음과 같은 엔터프라이즈 기능을 지원합니다.

  • 확장 배포

  • 예약된 보고서 처리 및 요청 시 보고서 처리

  • 요청 시 일회용으로 만들거나 서버에 저장할 수 있는 임시 보고서

  • 사용자 지정된 보고서 출력을 동적 수신인 목록으로 라우팅하는 데이터 기반 구독

  • 관리 및 구성 도구

사용자 지정

사용자 지정은 API를 통해 지원됩니다.

보고서 및 ReportViewer 도구 모음에서 속성을 설정하여 가시성과 기능 가용성을 결정할 수 있습니다.

데이터 처리, 보고서 배달, 사용자 지정 인증 및 보고서 렌더링에 대한 지원을 추가하도록 확장 프로그램을 만들 수 있습니다.

보고서, 보고서 도구 모음 및 보고서 서버에서 속성을 설정할 수 있습니다.

확장 API를 통해 추가 사용자 지정이 지원됩니다.

예제 및 연습

Visual Studio 제품 설명서 또는 MSDN에서 Visual Studio의 샘플 및 연습(Samples and Walkthroughs in Visual Studio)을 검색합니다.

Reporting Services의 예제 및 연습에 대한 자세한 내용은 자습서 찾기를 참조하십시오.

설명서

Visual Studio 제품 설명서 또는 MSDN에서 ReportViewer 컨트롤(Visual Studio)을 검색합니다.

Reporting Services는 SQL Server 온라인 설명서에 자세히 설명되어 있습니다.