SQL Azure Reporting (3)
앞에서 SQL Azure를 데이터 원본으로 하여 보고서를 생성하고 테스트하고 SQL Azure Reporting에 게시해서 결과를 살펴보았습니다.
이번 글에서는 SQL Azure Reporting을 Windows Azure 웹 역할에서 이용하는 내용을 다뤄보도록 하겠습니다. SQL Azure Reporting 을 이용하는데 Windows Azure에서 ReportViewer 컨트롤을 사용하는 내용입니다.
Visual Studio 2010을 통해 Windows Azure 프로젝트를 생성합니다. 웹 역할의 이름은 “AzureReportingWebRole” 으로 지정하겠습니다.
Default.aspx 의 디자인 화면에 일단 ScriptManager를 추가합니다. 그리고 도구상자의 보고에 있는 ReportViewer를 추가합니다. 적절히 넓이와 높이를 지정합니다.
솔루션 탐색기에서 참조 추가를 해서 Microsoft.ReportViewer.Common을 추가합니다. Microsoft.ReportViewer.WebForms 컨트롤은 자동으로 추가되었을 겁니다. 추가되지 않았다면 추가합니다. 그리고 어셈블리의 속성에서 로컬 복사를 true로 지정합니다. Windows Azure로 게시해서 구동하기 위함입니다.
이제 Default.aspx.cs 로 가서 코드를 작성해보도록 하겠습니다.
Page_Init 이벤트에서 작업을 진행하도록 하겠습니다. Page_Load에서 작업할 경우 보고서가 제대로 처리되지 않습니다. Page_Init 때문에 처음에 상당히 고생했었습니다.
ReportViewer 컨트롤의 ReportServerUrl, ReportPath, ReportServcerCredentials 을 처리하면 됩니다.
ReportServerUrl 의 경우는 아래와 같이 지정하면 됩니다. 별도로 Config 파일에서 불러와도 되겠죠.
https://서버이름.ctp.reporting.database.windows.net/ReportServer
ReportPath 의 경우는 위 주소로 로그인하면 경로와 보고서이름을 알 수 있습니다.
/subdir/reportname
ReportServcerCredentials 같은 경우는 IReportServcerCredentials 형식이라 별도의 클래스를 생성해야 합니다. 해당 클래스는 IReportServcerCredentials 인터페이스를 상속해야 합니다. 인터페이스를 구현하면 아래와 같이 구성되게 됩니다. Authority는 서버전체이름 또는 도메인을 나타냅니다.
로컬에서 실행하고 테스트를 진행해봅니다.
이제 Windows Azure로 게시해보도록 하겠습니다. 물론 결과는 잘 나옵니다.
ReportViewer 컨트롤 외에 ReportService2010.asmx 를 통해서도 보고서를 액세스할 수 있습니다.
이상으로 SQL Azure Reporting에 대한 부분을 간략히 살펴보았습니다.
SQL Azure Reporting 은 아직 SSMS를 통해서 액세스가 되지는 않습니다. 또한 관리자 사이트를 별도로 제공하고 있지 않습니다. 보고서 권한, 매개변수, 스냅숏/캐시 등의 내용에는 제약이 있습니다. 지금은 CTP 입니다. ㅋ
Windows Azure 에서 SQL Azure 데이터를 기반으로 리포팅에 대한 내용을 지원해주고 있는 기능입니다.
SQL Azure Reporting 관련 문서는 아래를 참고하시면 됩니다. 또한 Sample을 다운로드 받을 수 있습니다.
http://msdn.microsoft.com/en-us/library/gg552871.aspx#ReportsandReportViewer
http://social.technet.microsoft.com/wiki/contents/articles/sql-azure-reporting-samples.aspx
'Cloud' 카테고리의 다른 글
SQL Azure Data Sync (1) – 소개와 Agents 구성 (0) | 2011.09.09 |
---|---|
SQL Azure Sharding 소개 (0) | 2011.09.08 |
SQL Azure Reporting(2) (0) | 2011.08.18 |
SQL Azure Reporting (1) (0) | 2011.08.11 |
SQL Azure 데이터 이용(5) (0) | 2011.08.04 |