다음을 통해 공유


연습: 로컬 처리 모드의 ReportViewer 웹 서버 컨트롤과 함께 데이터베이스 데이터 소스 사용

이 연습에서는 Microsoft ASP.NET 웹 사이트에 대한 보고서를 만드는 방법과 사용자가 보고서를 볼 수 있도록 웹 페이지에 ReportViewer 컨트롤을 추가하는 방법을 보여 줍니다.

필수 구성 요소

이 연습을 사용하려면 AdventureWorks2008 예제 데이터베이스에 대한 액세스 권한이 있어야 합니다. 자세한 내용은 연습: AdventureWorks 데이터베이스 설치를 참조하십시오.

컴퓨터에서 다음 단계에 따라 로컬 보고서를 볼 수 있도록 구성된 ReportViewer 컨트롤을 포함하는 ASP.NET 웹 페이지를 만듭니다. 이 예에서는 Microsoft Visual Basic으로 응용 프로그램을 만듭니다.

새 웹 사이트 만들기

  1. 파일 메뉴에서 새로 만들기를 가리킨 다음 웹 사이트를 선택합니다.

  2. 새 웹 사이트 대화 상자의 설치된 템플릿 창에서 Visual Basic을 선택한 다음 ASP.NET 웹 사이트를 선택합니다.

  3. 위치 상자에서 프로젝트 디렉터리를 지정하고 확인을 클릭합니다.

    웹 사이트 프로젝트가 열립니다.

데이터 집합을 추가하여 데이터 연결 및 DataTable 정의

  1. 웹 사이트 메뉴에서 새 항목 추가를 선택합니다.

  2. 새 항목 추가 대화 상자에서 데이터 집합을 선택한 다음 추가를 클릭합니다. App_Code 폴더에 항목을 추가할지를 묻는 메시지가 표시되면 를 클릭합니다.

    프로젝트에 DataSet1.xsd라는 새 XSD 파일이 추가되고 데이터 집합 디자이너가 열립니다.

  3. 도구 상자 창에서 TableAdapter 컨트롤을 디자인 화면으로 끕니다. TableAdapter 구성 마법사가 호출됩니다.

  4. 데이터 연결 선택 페이지에서 새 연결을 클릭합니다.

  5. Visual Studio에서 데이터 소스를 처음 만드는 경우 데이터 소스 선택 페이지가 표시됩니다. 데이터 소스 상자에서 Microsoft SQL Server를 선택합니다.

  6. 연결 추가 대화 상자에서 다음 단계를 수행합니다.

    • 서버 이름 상자에 AdventureWorks2008 데이터베이스가 위치한 서버를 입력합니다.

      기본 SQL Server Express 인스턴스는 (local)\sqlexpress입니다.

    • 서버에 로그온 섹션에서 데이터에 액세스할 수 있도록 하는 옵션을 선택합니다. Windows 인증 사용이 기본값입니다.

    • 데이터베이스 이름 선택 또는 입력 드롭다운 목록에서 AdventureWorks2008을 클릭합니다.

    • 다음을 클릭합니다.

  7. 이전 단계에서 SQL Server 인증 사용을 지정한 경우 중요한 데이터를 문자열에 포함할지 아니면 응용 프로그램 코드에서 설정할지를 지정하는 옵션을 선택합니다.

  8. 응용 프로그램 구성 파일에 연결 문자열 저장 페이지에서 연결 문자열의 이름을 입력하거나 기본값 AdventureWorks2008ConnectionString을 사용합니다. 다음을 클릭합니다.

  9. 명령 유형을 선택하십시오. 페이지에서 SQL 문 사용을 선택하고 다음을 클릭합니다.

  10. SQL 문을 입력하십시오. 페이지에서 다음 Transact-SQL 쿼리를 입력하여 AdventureWorks2008 데이터베이스에서 데이터를 검색한 다음 마침을 클릭합니다.

    SELECT d.Name as Dept, s.Name as Shift, 
        e.BusinessEntityID as EmployeeID
    FROM (HumanResources.Department d
    INNER JOIN HumanResources.EmployeeDepartmentHistory e
        ON d.DepartmentID = e.DepartmentID)
    INNER JOIN HumanResources.Shift s
        ON e.ShiftID = s.ShiftID
    

    쿼리 작성기 단추를 클릭하고 쿼리 작성기에서 쿼리를 만든 다음 쿼리 실행 단추를 사용하여 만든 쿼리를 확인할 수도 있습니다. 쿼리에서 필요한 데이터가 반환되지 않는 경우 이전 버전의 AdventureWorks를 사용하는 것일 수 있습니다. AdventureWorks2008 버전의 AdventureWorks를 설치하는 방법은 연습: AdventureWorks 데이터베이스 설치를 참조하십시오.

  11. 이제 ADO.NET DataTable이 보고서의 데이터 소스로 구성되었습니다. Visual Studio의 데이터 집합 디자이너 페이지에 쿼리 정의로부터 얻은 열을 나열하는 추가된 DataTable이 표시되어야 합니다. 기본 이름은 DataTable1입니다. 데이터 메뉴에서 데이터 미리 보기를 선택한 다음 미리 보기 단추를 클릭하여 쿼리 결과를 확인할 수 있습니다.

  12. 생성할 메서드 선택 페이지에서 마침을 클릭합니다.

  13. 파일을 저장합니다.

보고서 마법사를 사용하여 보고서 디자인

  1. 솔루션 탐색기에서 최상위 웹 사이트가 선택되어 있는지 확인합니다.

  2. 웹 사이트를 마우스 오른쪽 단추로 클릭한 다음 새 항목 추가를 선택합니다.

  3. 새 항목 추가 대화 상자에서 보고서 마법사를 선택하고 보고서 파일 이름을 입력한 다음 추가를 클릭합니다.

    보고서 마법사가 시작됩니다.

  4. 데이터 집합 속성 페이지의 데이터 소스 상자에서 사용자가 만든 데이터 집합을 선택합니다.

    사용자가 만든 DataTable을 사용하여 사용 가능한 데이터 집합 상자가 자동으로 업데이트됩니다.

  5. 다음을 클릭합니다.

  6. 필드 정렬 페이지에서 다음을 수행합니다.

    1. 사용 가능한 필드Dept행 그룹 상자로 끌어 옵니다.

    2. 사용 가능한 필드Shift열 그룹 상자로 끌어 옵니다.

    3. 사용 가능한 필드EmployeeID 상자로 끌어 옵니다.

    4. Sum(EmplyeeID) 옆의 화살표를 클릭하고 개수를 선택합니다.

  7. 다음을 두 차례 클릭한 다음 마침을 클릭하여 보고서 마법사를 닫습니다.

    .rdlc 파일이 만들어져 보고서 디자이너에서 열립니다. 디자인한 테이블릭스가 이제 디자인 화면에 표시됩니다.

  8. .rdlc 파일을 저장합니다.

응용 프로그램에 ReportViewer 컨트롤 추가

  1. 솔루션 탐색기에서 웹 폼 Default.aspx를 마우스 오른쪽 단추로 클릭한 다음 디자이너 보기를 선택합니다.

  2. 도구 상자 창을 엽니다. AJAX 확장 그룹에서 ScriptManager 컨트롤을 디자인 화면으로 끌어 옵니다.

  3. 도구 상자 창의 보고 그룹에서 ReportViewer 컨트롤을 ScriptManager 컨트롤 아래의 페이지로 끌어 옵니다.

  4. 아직 열려 있지 않은 경우 오른쪽 위 모퉁이에 있는 스마트 태그 문자 모양을 클릭하여 ReportViewer 태스크 스마트 태그 패널을 엽니다. 보고서 선택 상자에서 방금 만든 보고서를 선택합니다.

    보고서를 선택하면 보고서에 사용된 데이터 소스 인스턴스가 자동으로 생성됩니다. 각 DataTable 및 해당 DataSet 컨테이너, 보고서에서 사용되는 각 데이터 소스에 해당하는 ObjectDataSource 컨트롤을 인스턴스화하는 코드가 생성됩니다. 이 데이터 소스 컨트롤은 자동으로 구성됩니다.

응용 프로그램 빌드 및 실행

  1. Ctrl+F5를 눌러 디버깅 없이 페이지를 실행하거나 F5 키를 눌러 디버깅과 함께 페이지를 실행합니다.

    빌드 프로세스의 일부로 보고서가 컴파일되며 보고서에 사용된 식의 구문 오류와 같은 발견된 모든 오류가 태스크 목록에 추가됩니다.

    웹 페이지가 브라우저에 나타납니다. ReportViewer 컨트롤이 보고서를 표시합니다. 도구 모음을 사용하여 보고서를 탐색하거나 확대/축소하거나 Excel로 내보낼 수 있습니다.

  2. 브라우저를 닫습니다.

참고 항목

참조

ReportViewer.Drillthrough

LocalReport.SubreportProcessing

ReportViewer.Drillthrough

LocalReport.SubreportProcessing

개념

ReportViewer 태스크 스마트 태그 패널 사용

관련 자료

샘플 및 연습