Microsoft Corporation
2005년 12월
적용 대상:
SQL Server 2005 Reporting Services
요약: 이 문서에는 개발자가 응용 프로그램에 SQL Server 2005 Reporting Services 기능을 통합하는 데 사용할 수 있는 여러 가지 방법이 설명되어 있습니다(13페이지/인쇄 페이지 기준).
이 기사의 Microsoft Word 버전을 다운로드 (영문)하십시오.
목차
소개
응용 프로그램에 Reporting Services 통합
보고서 작성
보고서 뷰어 컨트롤로 보고서 포함
SharePoint에 보고서 포함
SOAP API로 보고서 관리
프로그래밍 방식으로 보고서 작성
통합된 보고서 작성 기능
보고서 서버 확장
결론
소개
Microsoft SQL Server Reporting Services는 다양한 데이터 원본에서 보고서를 작성, 관리 및 제공하기 위해 사용하는 완전한 플랫폼입니다.
Reporting Services에서는 일반적인 보고 형식과 대화형 보고 형식으로 다양하게 데이터를 처리하고 서식을 지정하며 렌더링하는 포괄적인 기능을 제공합니다. 응용 프로그램에서는 응용 프로그램 또는 포털 페이지 내의 보고서에 액세스하는 것부터 독립 실행형 응용 프로그램에 보고서 처리 및 디자인 기능을 포함하는 것에 이르는 다양한 방식으로 Reporting Services 기능을 활용할 수 있습니다.
SQL Server Reporting Services는 프로그래밍 가능성과 확장성을 고려하여 디자인되었습니다. 보고서 정의에는 RDL(Report Definition Language)이라는 확장 가능한 XML 형식이 사용되며, Reporting Services에서는 보고서를 관리하고 액세스하기 위해 SOAP(Simple Object Access Protocol) 웹 서비스를 제공합니다.
Microsoft는 SQL Server 2005 및 Microsoft Visual Studio 2005를 통해 개발자가 Reporting Services 기능을 통합하고 액세스하는 방법을 확장했습니다. 이 문서에서는 SQL Server 2005 Reporting Services의 다양한 통합 요소에 대해 간략하게 설명하겠습니다.
문서 정보
이 문서는 응용 프로그램 개발자가 자신의 응용 프로그램에서 Reporting Services 기능에 액세스하는 다양한 방법을 손쉽게 파악하고 이해하도록 하기 위한 것입니다. 따라서 갖가지 프로그래밍 인터페이스 사용 방법에 대해서는 설명되어 있지 않으며, 이러한 인터페이스에 대한 설명은 다른 문서를 참조해야 합니다.
사전 요구 사항
- 이 백서는 Reporting Services에 대한 정보를 총망라하기 위한 것이 아닙니다. 제품에 대한 자세한 내용은 제품 설명서 및 온라인 리소스 (영문)를 참조하십시오.
- 이 문서는 독자가 Reporting Services는 물론 다음 제품에 대해서도 익숙하다는 것을 전제로 하고 있습니다.
- Microsoft SQL Server
- 인터넷 정보 서비스(IIS)
- Microsoft .NET Framework
- Microsoft Visual Studio
이들 제품에 대한 정보는 MSDN Online을 참조하십시오.
응용 프로그램에 Reporting Services 통합
Reporting Services는 종이를 기반으로 한 일반적인 보고서 및 웹 기반 대화형 보고서를 생성, 관리 및 제공하는 데 사용하는 포괄적인 플랫폼입니다.
Reporting Services는 다양한 환경 및 응용 프로그램을 지원하는 공개 인터페이스와 프로그래밍 액세스 기술을 사용하여 처음부터 확장성을 염두에 두고 디자인되었습니다. 응용 프로그램 개발자는 기존 보고서 액세스, 사용자 지정 보고서 및 보고서 컨트롤 생성, 응용 프로그램에 로컬로 보고서 포함, 보고서 원격 실행 등을 포함하여 여러 가지 방식으로 이 기능에 액세스할 수 있습니다.
Reporting Services의 기능 및 공개 인터페이스를 사용하면 응용 프로그램의 고유한 기능에 중점을 두면서 뛰어난 보고 기능을 손쉽게 제공할 수 있습니다.
이 문서에서는 SQL Server 2005 Reporting Services에서 사용할 수 있는 통합 요소에 대해 설명합니다.
보고서 작성
다양한 도구를 사용하여 보고서를 작성하고 응용 프로그램에 활용할 수 있습니다. 이러한 도구에는 Visual Studio 2005에 통합된 보고서 디자이너 도구 또는 새로운 보고서 작성기가 있으며 이들은 응용 프로그램 설치의 일부로 배포됩니다. 또한 응용 프로그램 사용자가 이 도구를 사용하여 응용 프로그램에 제공되는 보고서를 확장할 수 있습니다.
보고서 포함
응용 프로그램과 보고서의 통합을 위한 가장 일반적인 요구 사항은 응용 프로그램에 보고서를 포함하는 기능, 또는 응용 프로그램 내에서 보고서에 액세스하는 기능일 것입니다. Reporting Services의 첫 번째 버전에서는 두 가지 방식으로 보고서 서버에 있는 보고서에 액세스할 수 있었습니다. 여기서 두 가지 방식은 URL 액세스와 Reporting Services SOAP API인 XML 웹 서비스입니다. SQL Server 2005 Reporting Services에서는 보고서 포함 옵션이 확장되었습니다. 여기에는 Windows Forms 및 ASP.NET 응용 프로그램용 보고서 뷰어 컨트롤 집합은 물론, Microsoft SharePoint 포털 페이지에서 보고서를 손쉽게 탐색하고 선택하며 볼 수 있도록 하는 웹 파트도 포함됩니다.
보고서 관리
Reporting Services는 Reporting Services 관리 웹 서비스(일종의 SOAP API)를 사용하는 완전한 기능을 갖춘 관리 인터페이스를 제공합니다. 관리 웹 서비스를 사용하면 보고서를 표시하고 렌더링, 구독 및 보고서 서버의 다른 기능을 응용 프로그램에서 프로그래밍 방식으로 관리할 수 있습니다.
프로그래밍 방식으로 보고서 작성
많은 응용 프로그램에서 미리 정의된 보고서를 제공하지만 Reporting Services 보고서의 게시된 XML 스키마에 쓰는 방식으로 응용 프로그램에서 보고서 정의를 자동으로 생성할 수도 있습니다. 프로그램에서 보고서 정의를 만들고 나면, Reporting Services 실행 웹 서비스에서 보고서 서버의 보고서 실행 및 렌더링 기능에 대한 프로그래밍 방식의 인터페이스를 제공합니다.
통합된 보고서 작성 기능
최종 사용자와 비즈니스 분석가는 보고서 작성기 도구를 사용하여 비즈니스 관점에서 기본 데이터 원본을 제공하는 데이터 모델에 액세스해서 보고서를 생성하고 디자인할 수 있습니다. 뿐만 아니라 타사 응용 프로그램에서도 보고서 작성기에 액세스할 수 있습니다. Reporting Services에서는 보고서 작성기 데이터 모델을 만드는 데 필요한 모델 디자인 도구를 제공합니다.
Reporting Services 확장
Reporting Services의 모듈식 아키텍처는 확장성을 고려하여 디자인되었습니다. 관리되는 코드 API를 사용하면 많은 Reporting Services 구성 요소에서 사용되는 확장 기능을 손쉽게 개발할 수 있습니다. 또한 Microsoft .NET Framework를 사용하여 사용자 지정 어셈블리, 사용자 지정 보고서 항목뿐 아니라 새로운 Reporting Services 보안, 배달, 렌더링 및 데이터 처리 기능을 만들어 변화하는 비즈니스 요구를 충족시킬 수 있습니다.
이 문서의 나머지 부분에서는 이러한 방법에 대해 자세히 설명하겠습니다.
보고서 작성
보고서 디자인은 SQL Server 2005에 포함된 보고서 서버 프로젝트 내에서 사용할 수 있을 뿐 아니라 Visual Studio 2005 언어 프로젝트에도 통합되어 있습니다. 보고서 디자인 프로세스는 Windows Forms 편집기를 따라 만든 그래픽 인터페이스입니다.
보고서는 테이블, 매트릭스 또는 자유 형식으로 생성할 수 있고 다양한 차트를 포함할 수도 있습니다. 데이터 원본 창에서 디자인 화면에 필드를 끌어서 놓은 다음 원하는 스타일 속성을 설정하기만 하면 됩니다. 그림 1의 보고서 디자이너를 사용하면 그룹화, 정렬, 필터링 및 조건부 서식 기능을 포함하여 Reporting Services 보고서의 전체 기능에 액세스할 수 있습니다.
그림 1. Visual Studio 보고서 디자이너
보고서를 생성하면 보고서 서버에 보고서를 게시하거나 응용 프로그램에서 로컬로 보고서를 포함하거나 액세스할 수 있습니다. 위의 두 가지 옵션은 다음 하위 단원에 설명되어 있습니다.
호스트된 보고서
SQL Server 2005에는 보고서 서버에서 호스트되는 보고서를 디자인하는 데 필요한 SQL Server 2005 Business Intelligence Development Studio의 보고서 서버 프로젝트가 포함되어 있습니다. 호스트된 보고서를 배포하면 보안, 캐싱, 일정 관리 및 배달 기능과 같은 이점을 얻을 수 있습니다.
호스트된 보고서는 표준 보고서 정의 형식(RDL)을 사용합니다. 이 형식에는 데이터 원본에 연결하여 필요한 데이터를 추출하는 방법에 관한 정보가 들어 있습니다.
포함된 보고서
Visual Studio 2005에는 보고서를 디자인하여 Visual Basic, Visual C#, Visual J# 또는 Managed C++를 비롯한 언어 프로젝트에 직접 포함시키는 기능이 있습니다.
포함된 보고서 디자이너는 SQL Server 2005에 포함된 보고서 디자이너와 기능이 동일하지만, Visual Studio 데이터 원본 기능을 사용하여 보고서의 데이터에 액세스합니다. 보고서는 일반적인 데이터 원본 또는 개체 컬렉션에 액세스할 수 있습니다.
포함된 보고서는 데이터 원본에 대한 메타데이터는 있지만 연결 또는 쿼리 정보가 없는 보고서 정의 버전(RDLC)을 사용합니다. 이 부분은 다음 단원에서 자세히 설명합니다.
보고서 디자인에 대한 자세한 내용은 SQL Server Reporting Services 온라인 설명서를 참조하십시오.
보고서 뷰어 컨트롤로 보고서 포함
Visual Studio 2005에는 Reporting Services 기능을 사용자 지정 응용 프로그램에 포함시키는 데 사용되며 자유롭게 재배포할 수 있는 보고서 뷰어 컨트롤이 제공됩니다. 이 컨트롤을 사용하려면 대상 시스템에 Microsoft .NET Framework 2.0이 설치되어 있어야 합니다.
보고서 뷰어 컨트롤은 Windows 클라이언트용 컨트롤과 웹 기반(ASP.NET) 응용 프로그램용 컨트롤의 두 가지 버전이 있습니다. Visual Studio 도구 상자에는 만드는 프로젝트 유형에 따라 적절한 컨트롤이 자동으로 제공됩니다.
보고서 뷰어 컨트롤은 보고서 서버의 보고서에 액세스하거나 다음과 같은 방식으로 보고서를 로컬로 처리하고 렌더링합니다.
- 로컬 모드에서는 응용 프로그램이 보고서 정의 및 데이터 집합을 제공하고 보고서 처리를 트리거합니다. SQL Server 라이센스는 필요 없으며 필요한 처리 기능은 보고서 뷰어 컨트롤에 포함되어 있습니다.
- 보고서 서버 모드에서는 보고서 뷰어 컨트롤이 보고서 서버에서 호스트된 보고서에 액세스합니다. 여기서 컨트롤은 보고서를 탐색하고 표시하는 데 사용됩니다. 보고서 서버 모드를 실행하려면 SQL Server 2005 보고서 서버가 있어야 합니다.
이러한 차이점은 다음 하위 단원에 자세히 설명되어 있습니다.
로컬 모드 대 보고서 서버 모드
가장 먼저 내려야 할 중요한 결정 사항은 보고서 뷰어 컨트롤에 로컬 모드를 사용할 것인지, 아니면 보고서 서버 모드를 사용할 것인지 여부입니다. 이러한 결정은 응용 프로그램의 배포 방식에 따라 달라질 수 있습니다.
그림 2에서처럼 로컬 모드에서는 로컬 응용 프로그램이 응용 프로그램에 포함되어 있거나 디스크에서 로드되는 보고서 정의에 따라 보고서를 처리합니다. 응용 프로그램은 보고서 서버와 연결되지 않습니다. 실제로 이 접근 방식에는 SQL Server 라이센스나 보고서 서버가 필요 없는 것이 특징입니다.
그림 2. 로컬 모드 보고서 처리
그림 3에서처럼, 보고서 서버 모드에서는 응용 프로그램에서 보고서 서버에 게시된 보고서에 액세스합니다. 보고서 서버는 모든 데이터 검색, 처리 및 렌더링을 수행하며 컨트롤을 통해 결과가 표시됩니다.
그림 3. 보고서 서버 모드
보고서 서버에서는 보안, 구독, 스냅숏 관리 및 보고서 기록이 포함된 관리되는 보고서 환경을 제공합니다. 이 서비스는 기업 규모의 보고 환경에 필수적인 역할을 합니다.
이 밖에도 사용할 모드를 결정할 때 알아 두어야 할 미묘한 차이점이 있으며, 이러한 내용은 표 1에 간략하게 정리되어 있습니다.
표 1
범주 | 로컬 모드 | 보고서 서버 모드 |
---|---|---|
데이터 원본 | ADO.NET DataTables 또는 응용 프로그램 개체를 비롯한 Visual Studio 데이터 원본. 응용 프로그램이 데이터 원본과 연결되어야 합니다. | 보고서 서버에서 액세스할 수 있는 모든 데이터 원본. 다양한 데이터 원본을 지원합니다. |
보고서 정의 | 로컬로 포함되거나 디스크 또는 스트림에서 로드됩니다. | 보고서 서버에 게시됩니다. |
매개 변수 | 응용 프로그램은 매개 변수 또는 쿼리를 지정하기 위한 사용자 인터페이스를 구현해야 합니다. | 보고서 뷰어 컨트롤은 쿼리 또는 보고서 매개 변수를 묻는 메시지를 표시할 수 있습니다. |
보안 | 응용 프로그램은 보안을 관리해야 합니다. 보고서에 포함된 코드는 명시적인 권한 없이는 파일 시스템이나 네트워크에 액세스할 수 없습니다. | 보고서 뷰어 컨트롤은 자격 증명을 확인합니다. |
내보내기 형식 | Microsoft Excel 및 PDF만 | Excel, PDF 및 MHTML을 비롯하여 Reporting Services에서 지원하는 모든 렌더링 형식 |
SQL Server 라이센스 | 필요하지 않습니다. | 보고서 서버에 필요합니다. |
보고서 뷰어 컨트롤에서 보고서 서버와 같은 보고 엔진을 사용하기 때문에 보고서 서버와 로컬 모드 간의 보고서 처리는 서로 동일해야 합니다. 두 보고서 모두 섹션 확장/축소, 드릴스루, 대화형 정렬을 비롯하여 테이블, 목록, 차트 등의 다양한 데이터 레이아웃과 같은 대화형 작업을 지원합니다.
로컬 모드에서는 사용자 지정 보고서 항목을 지원하지 않습니다.
로컬 모드에서 보고서 서버 모드로 변경
보고서 서버 모드 대신 로컬 모드를 선택하더라도 이를 변경할 수 없는 것은 아닙니다. 로컬 RDLC 형식에서 호스트된 RDL 형식으로 보고서를 마이그레이션할 수 있습니다.
보고서에 SQL Server와 같이 보고서 서버에서 직접 지원하는 데이터 원본 형식이 사용되는 경우, 누락된 정보를 제공한 다음 보고서 서버에 보고서를 게시할 수 있습니다. 또한 보고서가 보고서 서버에서 직접 지원되지 않는 데이터 원본에서 데이터를 검색하는 경우, 보고서 서버에서 데이터를 검색할 수 있도록 데이터 처리 확장 기능을 제공해야 합니다.
보고서가 보고서 서버에 게시된 후에는 보고서에 액세스하는 데 필요한 보고서 경로와 보고서 서버 정보로 보고서 뷰어 컨트롤을 업데이트하기만 하면 됩니다.
일반적으로 보고서에서 데이터베이스에 저장되어 있지 않거나 웹 서비스 또는 다른 원격 API를 사용하여 액세스할 수 없는 응용 프로그램 데이터를 사용하는 경우, 데이터 처리 확장 기능을 빌드하지 않으면 로컬 모드에서 서버 모드로 마이그레이션할 수 없습니다. 이에 대해서는 문서의 뒷부분에서 좀 더 설명하겠습니다.
Windows Forms 응용 프로그램에 보고서 통합
로컬 모드에서 보고서 뷰어 컨트롤을 사용하여 보고서를 통합하려면(로컬로 보고서 작성) 다음 단계를 수행합니다.
데이터 원본을 만들려면
- 데이터 원본 구성 마법사를 실행하여 데이터베이스, 웹 서비스, 개체 또는 로컬 파일에서 데이터 원본을 만듭니다.
마법사를 통해 사용자가 지정한 DataTable이 포함된 DataSet이 만들어집니다. 아니면 TableAdapter 구성 마법사를 사용할 수도 있습니다. TableAdapter 구성 마법사를 사용하면 쿼리로 DataSet을 만들 수 있습니다.
보고서를 디자인하려면
- Visual Studio에 통합된 보고서 디자이너를 사용하여 보고서를 정의합니다.
데이터 원본 창의 필드를 보고서 항목으로 끌어서 놓을 수 있습니다. 보고서 디자이너는 해당 데이터 원본 정보를 로컬 보고서의 보고서 정의(RDLC) 파일에 자동으로 집어넣습니다.
Windows Forms 응용 프로그램에 보고서 뷰어 컨트롤을 추가하려면
- 도구 상자의 보고서 뷰어 아이콘을 Windows Forms 디자인 서비스로 끌어서 놓습니다. 스마트 태그 창이 자동으로 표시됩니다.
- 보고서 뷰어 컨트롤에 바인딩할 보고서를 선택합니다.
이들 단계의 순서는 융통성 있게 변경할 수 있습니다. 예를 들어, 보고서 뷰어 컨트롤을 응용 프로그램에 추가한 다음 보고서 디자이너를 실행하여 보고서를 디자인할 수도 있습니다.
원격으로 호스트되는 보고서를 Windows Forms 응용 프로그램에 추가하려면, 보고서 뷰어 컨트롤을 응용 프로그램에 추가하고 스마트 태그 창에서 보고서 서버 URL 및 보고서의 경로를 선택하기만 하면 됩니다.
ASP.NET 응용 프로그램에 보고서 통합
ASP.NET 응용 프로그램에 보고서를 통합하는 절차는 Windows Forms 응용 프로그램의 경우와 유사합니다. 다음은 로컬 보고서를 포함시키는 일반적인 절차입니다.
공유 데이터 원본을 만들려면
- 데이터 원본은 TableAdapter 구성 마법사를 사용하거나 사용자 지정 클래스를 사용하여 각 유형의 데이터 구성 요소로 만들 수 있습니다.
보고서를 디자인하려면
- 보고서 디자이너의 데이터 원본 창에 공유 데이터 원본이 표시됩니다. 데이터 및 보고서 구성 요소를 끌어서 놓아 보고서를 디자인합니다.
웹 페이지에 보고서 뷰어 컨트롤을 추가하려면
- 보고서 뷰어 아이콘을 WebForm 디자인 화면에 끌어서 놓습니다. 컨트롤의 스마트 태그 창이 자동으로 표시됩니다.
- 디자인한 보고서를 선택한 다음 보고서의 데이터 원본을 선택합니다.
보고서 서버에서 호스트된 보고서에 대한 액세스를 포함하려면, 보고서 뷰어 컨트롤을 추가하고 스마트 태그 창에서 보고서 서버의 보고서 URL과 경로를 입력하기만 하면 됩니다.
SharePoint에 보고서 포함
Reporting Services는 Windows SharePoint Portal Server 2003 또는 Windows SharePoint Services 환경에 보고서를 포함하기 위해 보고서 탐색기와 보고서 뷰어라는 두 가지 웹 구성 요소를 제공합니다.
- 보고서 탐색기는 보고서 서버를 탐색하여 사용 가능한 보고서를 찾고 보고서 구독을 관리합니다.
- 사용자는 보고서 뷰어를 사용하여 보고서를 보고 작업할 수 있습니다.
이 두 가지 웹 구성 요소를 따로 또는 함께 사용하면 Reporting Services의 다양한 기능을 손쉽게 활용할 수 있습니다. 예를 들어, 이들 두 구성 요소를 사용하여 다음을 수행할 수 있습니다.
- 포털 페이지에 특정 보고서를 자동으로 표시합니다.
- 포털 사용자에게 보고서 서버의 보고서를 찾고 선택하고 표시할 수 있는 액세스 권한을 부여합니다.
- 포털 사용자에게 보고서 서버의 보고서를 구독할 수 있는 권한을 부여합니다.
보고서 탐색기 웹 구성 요소
보고서 탐색기 웹 구성 요소는 Reporting Services에 포함되어 있는 보고서 관리자의 축소 버전입니다. 보고서 탐색기 웹 구성 요소에서는 다음과 같은 기능을 제공합니다.
- 보고서 서버에서 보고서 찾아보기
- 확인할 보고서 선택
- 보고서 구독
탐색기 웹 구성 요소는 보고서 뷰어 웹 구성 요소와 함께 사용할 수 있습니다. 두 웹 구성 요소를 연결 모드에서 실행하면 서로 데이터를 전달합니다. 하지만 독립 실행형 모드에서는 데이터를 전달하지 않습니다.
연결 모드에서 탐색기와 뷰어를 실행하고 확인할 보고서를 선택하면 뷰어 웹 구성 요소에 보고서가 자동으로 표시됩니다. 독립 실행형 모드에서 탐색기를 실행하고 보고서를 선택하면 새 브라우저 창이 열려 보고서가 표시됩니다. 따라서 응용 프로그램에 어떤 접근 방식이 가장 적합한지를 결정해야 합니다.
보고서 뷰어 웹 구성 요소
보고서 뷰어 웹 구성 요소에서는 보고서를 표시합니다. 사용자는 여러 페이지로 구성된 보고서를 보고 탐색하거나 보고서를 인쇄하거나 지원되는 형식으로 보고서를 내보낼 수 있습니다. 관리자는 보고서 뷰어 도구 모음을 최소화된 컨트롤 집합으로 표시할지, 아니면 컨트롤 집합 없이 표시할지 여부를 결정합니다.
SOAP API로 보고서 관리
SQL Server 2005 Reporting Services에는 프로그래밍 방식으로 보고서 서버를 관리하는 Reporting Services 관리 웹 서비스가 포함되어 있습니다. 이 웹 서비스는 보고서 서버의 전체 보고서 관리 기능에 대한 단일 진입점 역할을 할 뿐 아니라 다양한 작업을 수행하는 데 사용될 수 있습니다. 특히, 다음과 같은 작업을 수행할 수 있습니다.
- 서버 콘텐츠 찾아보기
- 보고서 게시 및 제거
- 스냅숏 및 보고서 기록 관리
- 구독 관리
또한 Reporting Services는 WMI(Windows Management Instrumentation) 공급자를 제공합니다. WMI는 사용자 지정 보고서 서버 관리 도구를 빌드하는 데 사용할 수 있는 프로그래밍 방식 인터페이스입니다.
응용 프로그램과 함께 보고서 배포
표준 보고서 집합을 사용자가 사용할 수 있도록 하려면 응용 프로그램 설치 또는 구성의 일부로 배포해야 합니다. 보고서 서버에 보고서를 배포하려면 관리 웹 서비스를 사용합니다.
보고서를 배포하는 것 외에도 보고서의 데이터 원본을 변경하여 보고서가 로컬 설치를 가리키도록 해야 합니다. 이를 위한 가장 간단한 방법은 공유 데이터 원본을 사용하여 보고서를 정의하는 것입니다. 서버에 보고서를 게시하는 배포 유틸리티를 사용하여 데이터 원본에 필요한 연결 문자열을 설정할 수도 있습니다.
프로그래밍 방식으로 보고서 작성
Reporting Services에서는 대화형으로 보고서를 작성할 수 있는 여러 가지 방법을 제공합니다. 또한 문서화되고 확장 가능한 XML 기반 보고서 형식(RDL)과 보고서 실행을 위한 SOAP 인터페이스로 보고서를 프로그래밍 방식으로 생성 및 실행합니다.
RDL로 보고서 정의 파일 작성
Reporting Services는 RDL이라는 게시되고 확장 가능한 XML 스키마를 사용합니다. RDL 형식은 데이터 검색, 식 및 레이아웃을 비롯한 보고서의 모든 측면을 다룹니다.
RDL의 식 기능을 사용하면 보고서 내의 동적 콘텐츠, 조건부 서식 디자인 및 드릴다운 링크를 지원할 수 있습니다. 하지만 RDL을 써서 보고서 전체를 동적으로 생성해야 하는 응용 프로그램도 있습니다. RDL을 프로그래밍 방식으로 생성하는 방법에는 구체적인 몇 가지가 있습니다.
응용 프로그램에서 RDL을 생성하는 한 가지 방법은 System.Xml 네임스페이스의 Microsoft .NET Framework 클래스를 사용하는 것입니다. XmlTextWriter 클래스는 지정된 사양에 따라 RDL을 작성할 수 있습니다. 특히 모든 Microsoft .NET 응용 프로그램에 대한 완전한 보고서 정의를 생성할 수 있습니다.
RDL은 공개 스키마이므로 특성과 요소를 추가하여 RDL을 확장할 수 있습니다. RDL에 포함되어 있지 않은 사용자 지정 보고서 컨트롤과 요소를 포함시키거나 보고서 정의 내에 코드를 포함할 수도 있습니다.
예를 들어, 보고서 내에 맵, 바코드 및 미디어 클립을 만들어 사용하거나 Microsoft Visual Studio 도구 상자에 사용자 지정 보고서 컨트롤을 추가할 수 있습니다. 사용자 지정 보고서 컨트롤은 고유한 속성 및 대화 상자가 있으며 보고서 처리기의 식 계산, 그룹화, 정렬 및 필터링 기능을 사용합니다.
RDL 사양에 대한 자세한 내용은 Reporting Services 웹 사이트 (영문)를 참조하십시오.
동적 보고서 실행
일반적으로 보고서 서버에서 보고서를 실행하려면 보고서를 서버에 게시하고 서버에서 보고서를 실행하고 렌더링하도록 합니다. 그러면 보고서는 보고서 서버의 보고서 카탈로그에 위치하게 됩니다.
SQL Server 2005 Reporting Services에서는 보고서 서버의 보고서 처리 및 렌더링을 프로그래밍 방식으로 제어하는 Reporting Services 실행 웹 서비스를 제공합니다. Reporting Services 실행 웹 서비스의 클래스와 메서드를 사용하면 보고서 서버에서 다음을 수행하도록 할 수 있습니다.
- 보고서 정의 파일로 보고서 처리 및 렌더링
- 기록 스냅숏으로 보고서 렌더링
- 서버 기반 보고서 실행
클래스 및 메서드는 ReportExecutionService 클래스에 캡슐화되어 있습니다.
통합된 보고서 작성 기능
SQL Server 2005 Reporting Services에는 보고서 작성기라는 새로운 특별 보고서 작성 도구가 있습니다. 비즈니스 사용자 및 분석가는 보고서 작성기를 사용하여 데이터 항목을 보고서 레이아웃에 끌어 놓아 보고서를 작성할 수 있습니다. 보고서 작성기는 미리 정의된 보고서 모델을 사용하여 데이터 원본에 액세스하므로, 최종 사용자가 보고서를 작성하도록 하려면 미리 구축된 보고서 모델을 함께 제공해야 합니다.
보고서 모델 작성
응용 프로그램 사용자에게 특별 보고서 디자인 기능을 제공하려면 보고서 작성기에서 사용되는 보고서 모델을 정의하고 게시해야 합니다. 보고서 모델에는 기본 데이터베이스에 대한 비즈니스 수준의 설명이 제공됩니다. 따라서 보고서 작성기 사용자가 의미 있는 보고서를 생성하기 위해 원본 데이터 구조를 이해할 필요가 없습니다.
Microsoft에서는 보고서 작성기의 보고서 모델을 정의, 편집 및 게시할 수 있도록 보고서 모델 디자이너 도구를 제공하고 있습니다. 이 도구를 사용하면 데이터 원본을 사용하여 모델을 대화형으로 디자인할 수 있습니다. 또한 Microsoft SQL Server 또는 Analysis Services 데이터베이스를 위한 모델을 자동으로 생성할 수 있습니다.
드릴스루 보고서를 사용하면 사용자가 한 엔터티에서 다른 엔터티로 드릴했을 때의 기본 동작을 다시 정의할 수 있습니다. 이를 통해 사용자 지정된 환경을 제공하고 출시되는 응용 프로그램의 기능을 향상시킬 수 있습니다.
보고서 모델을 만드는 방법에 대한 자세한 내용은 SQL Server 2005 온라인 설명서 (영문)를 참고하십시오.
보고서 작성기 클라이언트 실행
보고서 작성기는 보고서 서버에서 액세스할 수 있는 ClickOnce Windows Forms 응용 프로그램입니다. URL을 통해 보고서 작성기에 액세스하고 실행할 수 있으며 통합된 보고서 작성 기능을 사용할 수 있습니다.
보고서 서버 확장
Reporting Services의 고유한 확장 가능 아키텍처를 통해 개발자는 제품 및 구성 요소의 특정 기능을 확장할 수 있습니다.
확장 형식
SQL Server 2005 Reporting Services에서 지원하는 확장 형식은 표 2에 나와 있습니다.
표 2
확장 | 보고서 서버 모드 |
---|---|
데이터 처리 확장 | 개발자는 데이터 처리 확장 기능을 통해 Reporting Services에 추가 데이터 원본 형식을 만들 수 있습니다. 데이터 처리 확장 기능은 보고서 서버 및 보고서 디자이너 모두에 기능을 추가합니다. |
배달 확장 | 배달 확장 기능을 통해 다양한 메커니즘을 사용하여 사용자에게 보고서 알림을 보낼 수 있습니다. 사용자에게 사용자 지정 배달 서비스를 제공하도록 보고서 서버를 확장하는 것은 물론, 구독 작업에 사용자 지정 배달 확장 기능을 사용하도록 보고서 관리자의 구독 관리 페이지를 확장할 수도 있습니다. |
렌더링 확장 | 렌더링 확장 기능은 보고서 데이터 및 레이아웃 정보를 장치에 맞는 형식으로 변환합니다. 추가 렌더링 확장 기능을 만들어 지원되지 않는 다른 형식의 보고서를 생성할 수도 있습니다. |
보안 확장 | 보안 확장 기능으로 Reporting Services에서 사용자를 인증하고 권한을 부여할 수 있습니다. Reporting Services에서는 기본적으로 Windows 기반 보안 확장 기능을 사용하여 시스템에서 사용자 ID를 인증합니다. 회사에서 사용자 지정 보안을 적용하려면 기본 보안을 변경해야 합니다. |
사용자 지정 보고서 항목 | 개발자는 사용자 지정 보고서 항목을 사용하여 보고서에 사용할 수 있는 항목 형식을 추가로 정의할 수 있습니다. 사용자 지정 보고서 항목에는 디자인 타임 컨트롤을 Visual Studio 보고서 디자인 도구에서 호스트할 수 있도록 하는 인터페이스가 있습니다. 또한 사용자 지정 보고서 항목에서 보고서 데이터 및 속성을 이미지로 변환하여 렌더링된 출력에 표시하는 데 사용하는 런타임 인터페이스가 여기에 포함됩니다. |
사용자 지정 코드 어셈블리 | 사용자 지정 코드 어셈블리는 보고서 정의 파일 내에서 참조되며 보고서의 식에 사용할 수 있는 특수 함수가 들어 있습니다. 보고서가 실행되면 서버에서 사용자 지정 어셈블리의 함수를 호출합니다. |
프로그래밍 방식 인터페이스를 비롯한 확장 기능에 대한 자세한 내용은 SQL Server 2005 온라인 설명서에 나와 있습니다.
결론
SQL Server 2005 Reporting Services는 다양한 통합 요소를 제공하는 것은 물론, 개발자가 보고서 작성, 처리, 렌더링, 배포 같은 제품의 포괄적인 기능을 손쉽게 사용할 수 있도록 하는 제품입니다.
SQL Server 2005 Reporting Services의 프로그래밍 방식 인터페이스에 대한 자세한 내용은 SQL Server 2005 온라인 설명서 (영문)를 참조하십시오.
추가 정보

'DataBase' 카테고리의 다른 글
SQL 성능을 높이는 5가지 방법 (0) | 2006.03.27 |
---|---|
SQL 서버 2005 보안 가이드 1 (0) | 2006.03.27 |
.NET 개발자를 위한 저장 프로시저 평가 (0) | 2005.12.18 |
SQL Server 튜닝 가이드 (0) | 2005.12.18 |
[실전 강의실] SQL 서버 2005 실전 활용 3 - SQL 서버 2005 관리자가 알아야 할 변화 (0) | 2005.12.18 |