본문 바로가기

프로그램 경험/.Net

[ASP.NET] 크리스탈 리포트 오류.. The page size was not large enough to format the contents of an object in the report.Failed to export the report.

The page size was not large enough to format the contents of an object in the report.Failed to export the report.

Error in File C:\WINDOWS\TEMP\{0FE913D8-636C-4456-BED9-FC9916F22DC4}.rpt:

Page header or footer longer than a page. 

설명: 현재 웹 요청을 실행하는 동안 처리되지 않은 예외가 발생했습니다. 스택 추적을 검토하여 발생한 오류 및 코드에서 오류가 발생한 위치에 대한 자세한 정보를 확인하십시오. 


예외 정보: System.Runtime.InteropServices.COMException: The page size was not large enough to format the contents of an object in the report.Failed to export the report.

Error in File C:\WINDOWS\TEMP\{0FE913D8-636C-4456-BED9-FC9916F22DC4}.rpt:

Page header or footer longer than a page.


같은 크리스탈 리포트인데 매개변수 값에 따라서 이런 오류가 발생한다.

구글링 해보니 두가지 의견이 있는데 첫번째는 프린터 마진 설정이 고정되어 그런다는 의견들과

두번째는 서브 리포트의 확장 가능 체크를 해서 그런다는 의견이다.


우선 서브 리포트의 서식 속성으로 들어가서 확장 가능 체크를 빼보니 오류가 없어지고 리포트가 출력되었다.

왜 이런가 하고 잘 생각해보니 리포트의 형식이 맞지 않는 구조로 되어 있었다.


기본적으로 리포트를 만들때 머리말과 꼬리말 부분에는 고정된 데이터가 들어가고 본문에는 유동적인 데이터가 들어 간다.


그런데 오류난 리포트를 살펴보니 머리말 부분에 서브 리포트를 넣고 서브 리포트에는 본문이 존재 하도록 만들었다.

이렇게 되니 데이터가 적은것은 별 문제 없이 출력 되지만 데이터가 많은 것은 머리말 크기를 넘게 되어서 오류가 발생한 것이다.


서브 리포트를 본문으로 빼니까 바로 해결.