권장 시나리오 요약
응용 프로그램에 가장 적합한 보고서 바인딩 시나리오를 선택하는 데 도움이 될 수 있도록, 이 부분에서는 권장 시나리오의 장단점을 요약하고 특정 시나리오가 더 일반적으로 사용되는 이유에 대해 설명합니다.
![]() |
---|
대부분의 웹 사이트 또는 Windows 프로젝트는 포함 보고서에 바인딩하거나 비포함 보고서에 바인딩하는 가장 간단한 두 가지 바인딩 시나리오를 사용할 수 있습니다. 이 두 시나리오는 자습서에서 단계별로 설명됩니다. 따라서 이 부분을 읽기 전에 "자습서"의 자습서를 통해 연습하는 것이 좋습니다. |
Crystal Reports의 권장 바인딩 시나리오
일반적으로, CrystalReportViewer 개체 모델을 사용하는 것보다 ReportDocument 개체 모델을 사용하는 보고서 바인딩 시나리오가 더 권장됩니다. "ReportDocument 개체 모델을 통한 보고서 바인딩" 및 "CrystalReportViewer 개체 모델을 통한 보고서 바인딩"을 참조하십시오. 그 이유는 ReportDocument 개체 모델에서 프로그래밍 방식으로 보고서를 조작할 수 있는 더 광범위한 API를 제공하기 때문입니다. 개체 모델에 대한 자세한 내용은 "개체 모델 선택"을 참조하십시오.
대부분의 Crystal Reports for Visual Studio 사용자는 "포함 보고서 클래스에 바인딩" 시나리오를 선호합니다. 이 시나리오가 성능을 최적화하는 최선의 선택은 아니지만 가장 간단하게 사용할 수 있는 방법입니다. 프로젝트에 보고서를 추가하여 보고서 래퍼 클래스를 만들고 해당 보고서 래퍼 클래스를 인스턴스화한 다음, CrystalReportViewer 컨트롤에 전달하기만 하면 됩니다. 보고서 래퍼 클래스는 ReportDocument 기본 클래스에서 상속하므로 ReportDocument 개체 모델의 모든 기능에 액세스할 수 있습니다.
Crystal Reports for Visual Studio에서 보고서를 바인딩할 때 자주 사용되는 또 다른 방법이 "ReportDocument 클래스에 로드된 비포함 보고서에 바인딩"에 설명되어 있습니다. 이 시나리오에서는 ReportDocument 개체 모델의 모든 기능에 액세스할 수 있을 뿐 아니라 비포함 보고서의 이점을 추가로 활용할 수 있으므로, 응용 프로그램을 다시 컴파일하지 않고도 보고서를 수정할 수 있습니다.
일부 바인딩 시나리오에는 ASP.NET Cache 개체가 사용됩니다. " 캐시된 포함 보고서 클래스에 바인딩 " 및 "캐시 관리 유틸리티 클래스에 로드된 비포함 보고서에 바인딩"을 참조하십시오. 이들 시나리오에서는 공유 수준이 높은 보고서에 대한 성능을 최적화할 수 있습니다. ""공유 수준이 높은" 보고서 캐시"를 참조하십시오.
RAS(보고서 응용 프로그램 서버)의 권장 바인딩 시나리오
Crystal Reports for Visual Studio 응용 프로그램에 관리되지 않는 RAS 라이센스를 추가한 경우("RAS(보고서 응용 프로그램 서버)" 참조), 다음과 같은 기능을 추가로 활용할 수 있습니다.
- RAS 보고서 엔진에서 제공하는 향상된 확장성
- 보고서를 수정하기 위한 광범위한 기능을 제공하는 ReportClientDocument 개체 모델에 대한 액세스
RAS의 경우 프로젝트 구성 방식에 따라 세 가지 보고서 바인딩 시나리오 중 하나를 사용할 수 있습니다.
- RAS 10과 함께 Crystal Reports 10을 사용하는 경우 포함 보고서를 통해 Crystal Reports에서 만든 원래 프로젝트를 RAS 및 ReportClientDocument 개체 모델에 이식할 수 있습니다. 이 경우 보고서별로 코드 두 줄만 추가하면 됩니다. "ReportDocument.Load() 메서드를 사용하여 관리되지 않는 RAS에 바인딩"을 참조하십시오.
- 위 시나리오를 최적화하기 위해, RAS 서버에 포함 보고서의 복사본을 만들고 해당 복사본을 사용하도록 RAS에 알릴 수 있습니다. "ReportDocument.FileName 속성을 사용하여 관리되지 않는 RAS 서버에 바인딩"을 참조하십시오.
- RAS 10에서 새 프로젝트를 만들고 RAS 9에서도 문제 없이 작동하도록 ReportClientDocument 개체 모델에 직접 보고서를 로드할 수 있습니다. "ReportClientDocument.Open() 메서드를 사용하여 관리되지 않는 RAS 서버에 바인딩"을 참조하십시오.
Crystal Reports 서버 또는 BusinessObjects Enterprise의 권장 바인딩 시나리오
Crystal Reports 서버 또는 BusinessObjects Enterprise로 업그레이드한 경우 권장되는 보고서 바인딩 시나리오에는 네 가지가 있습니다. 어떤 시나리오를 사용할 것인지는 보고서 수정 또는 확장의 필요성에 따라 달라집니다.
- 프로그래밍 수정 작업 없이 가능한 최고의 속도와 성능을 얻도록 보고서를 표시할 수 있습니다. "Reportsource에 바인딩(Crystal Reports 서버 또는 BusinessObjects Enterprise 11)"을 참조하십시오.
- ReportClientDocument 개체 모델에 액세스하여 보고서를 프로그래밍 방식으로 표시 프로세스의 일부로 수정할 수 있습니다. "ReportAppFactory.OpenDocument() 메서드를 사용하여 관리되는 RAS 서버에 바인딩"을 참조하십시오.
- Crystal Reports 서버 또는 BusinessObjects Enterprise와 함께 Crystal Reports Developer를 사용하는 경우 포함 보고서를 사용하여 Crystal Reports에서 만든 원래 프로젝트를 Crystal Reports 서버 또는 BusinessObjects Enterprise에 이식할 수 있습니다. 이 경우 포함 보고서의 복사본을 Crystal Reports 서버 또는 BusinessObjects Enterprise에 게시하여 기존의 보고서 코드를 유지할 수 있습니다. 보고서 복사본에 대한 내용은 "ReportDocument.FileName 속성을 사용하여 관리되는 RAS 서버에 바인딩"을 참조하십시오.
- 엔터프라이즈 프레임워크에서 InfoObject 인스턴스 형식의 보고서에 액세스하면 보고서의 일정을 계획하고 해당 매개 변수를 수정할 수 있습니다. "Report로 캐스팅된 InfoObject에 바인딩"을 참조하십시오.
이 부분의 내용을 살펴본 다음 전체 시나리오 목록을 확인할 수도 있습니다. SDK에서 사용할 수 있는 모든 옵션을 상세하게 검토하려면 "전체 시나리오 세부 목록"을 참조하십시오.