서버 파일에 바인딩(Visual Studio 2005 이상)
개체 모델
이 보고서 바인딩 시나리오에는 CrystalReportViewer 개체 모델이 사용됩니다("CrystalReportViewer 개체 모델을 통한 보고서 바인딩" 참조).
보고서 위치
보고서는 로컬 파일 디렉터리의 보고서 폴더에 있습니다("샘플 보고서 디렉터리" 참조). 이 위치의 보고서는 보고서 웹 서비스로 제공됩니다.
서버 파일 개요
이 보고서 바인딩 시나리오는 웹 서비스를 통해 서버 파일로 액세스한 보고서에 적용됩니다.
참고 |
---|
Crystal Services에 대한 개요를 보려면 "Crystal Services 사용"을 참조하십시오. |
설명
서버 파일 웹 서비스는 로컬 파일 디렉터리에서 보고서 웹 서비스로 제공된 보고서에 액세스한 다음 이 보고서를 표시합니다. Visual Studio 2005 이상에서 서버 파일은 프로그래밍 방식으로 액세스합니다.
Crystal Services의 비교에 대한 표는 "Crystal Services를 사용하는 CrystalReportViewer 바인딩 시나리오" 및 "Crystal Services를 사용하는 ReportDocument 바인딩 시나리오(VS.NET 2002 및 2003)"를 참조하십시오.
장점
- 보고서에 대한 액세스를 중앙에서 관리할 수 있습니다. 샘플 보고서 디렉터리의 모든 보고서를 한 지점에서 액세스할 수 있으므로("샘플 보고서 디렉터리" 참조), 로컬 하드 드라이브에 효율적인 보고서 리포지토리를 만들 수 있습니다.
단점
- 개체 모델이 제한적입니다. 이 바인딩 시나리오는 CrystalReportViewer의 일부인 제한된 개체 모델만 제공합니다. "개체 모델 선택"을 참조하십시오.
서버 파일 구성
Crystal Reports for Visual Studio에서는 서버 파일에 프로그래밍 방식으로 액세스합니다. "Crystal Reports for Visual Studio의 정의"의 각 버전은 SDK에서 프로그래밍 방식의 서버 파일 지원을 계속합니다.
서버 파일 구성에 대한 자세한 내용은 "Visual Studio 2005 또는 2008에서 서버 파일 구성"을 참조하십시오.
서버 파일을 직접 코딩하려면
- 서버 파일에 대한 프로그래밍 방식 액세스를 허용하는 보고서 웹 서비스가 구성되었으며 제대로 작동해야 합니다.
- 또는 "Crystal Reports for Visual Studio의 정의"가 설치되어 있고 제대로 작동해야 합니다.
참고 |
---|
이 절차는 "프로젝트 설정"을 통해 생성된 프로젝트에서만 사용할 수 있습니다. 프로젝트 설정에는 이 절차에 필요한 코드 구성 및 특정 네임스페이스 참조가 포함되어 있으므로 해당 구성이 없으면 절차를 완료할 수 없습니다. 따라서 이 절차를 시작하기 전에 먼저 "프로젝트 설정"의 단계를 수행해야 합니다. |
"프로젝트 설정"에서 만든 ConfigureCrystalReports() 메서드 내에서 ServerFileReport의 인스턴스를 선언합니다.
Dim myServerFileReport As CrystalDecisions.Shared.ServerFileReport = _New CrystalDecisions.Shared.ServerFileReport()
CrystalDecisions.Shared.ServerFileReport serverFileReport = new CrystalDecisions.Shared.ServerFileReport();
ServerFileReport의 ObjectType 속성을 REPORT로 설정합니다.
myServerFileReport.ObjectType = CrystalDecisions.[Shared].EnumServerFileType.REPORT
serverFileReport.ObjectType = CrystalDecisions.Shared.EnumServerFileType.REPORT;
ServerFileReport의 ReportPath 속성을 보고서 및 해당 하위 디렉터리로 설정합니다.
샘플 보고서에 대한 자세한 내용은 "샘플 보고서 디렉터리"를 참조하십시오.
myServerFileReport.ReportPath = "\General Business\World Sales Report.rpt"
serverFileReport.ReportPath = "\\General Business\\World Sales Report.rpt";
ServerFileReport의 WebServiceURL 속성을 보고서 웹 서비스 위치로 설정합니다.
Crystal Reports Developer를 설치한 경우 이 위치는 현재 설치된 Crystal Reports 버전에 대한 뷰어의 가상 디렉터리입니다. "뷰어의 가상 디렉터리"를 참조하십시오. Crystal Reports Developer가 설치되지 않은 경우 이 위치는 "Visual Studio 2005 또는 2008에서 서버 파일 구성"에서 만든 보고서 웹 서비스의 URL입니다.
참고 아래 코드에서는 뷰어의 가상 디렉터리가 Crystal Reports for Visual Studio 2005용으로 구성되어 있습니다.
myServerFileReport.WebServiceUrl = "https://localhost/CrystalReportsWebServices2005/ServerFileReportService.asmx"
serverFileReport.WebServiceUrl = "https://localhost/CrystalReportsWebServices2005/ServerFileReportService.asmx";
CrystalReportViewer 컨트롤의 ReportSource 속성을 ServerFileReport 인스턴스로 설정합니다.
myCrystalReportViewer.ReportSource = myServerFileReport
crystalReportViewer.ReportSource = serverFileReport1;