2013-01-12 1 views
1

실패하지만 난보고로드 할 몇 가지 문제가있다 :의 ASP MVC 부하 보고서는 내가 ASP MVC 처음으로 크리스탈 리포트를 사용하는 것을 시도하고있다

ReportClass rptH = new ReportClass(); 
      rptH.FileName = Server.MapPath("Reports/TestReport.rpt"); 
      rptH.Load(); 

이 rptH.FileName

"rassdk://D:\\ProjectDir\\Pro\\Pro.WebUI\\Reports\\TestReport.rpt" 

의 값입니다

Load report failed.

보고서는 어떤 데이터 소스가없는 그것이 그냥 빈 보고서 :하지만 Load()에 나는 예외가 얻을 일부 텍스트.
아마도 중요합니다. 로컬 IIS (VS에 없음)에서 실행되도록 프로젝트를 설정했습니다.



UPDATE는

내가 코드를 약간 변경하고 지금은 다른 오류 (나는 또한을 Inetpub/wwwroot에 프로젝트를 복사)을 얻는다. 이 오류입니다 :

Value cannot be null. Parameter name: path2

그리고 경로는 지금 :

"C:\\inetpub\\wwwroot\\MyProject\\Pro\\Pro.WebUI\\Reports\\TestReport.rpt" 

새로운 코드는 다음과 같습니다 내가 전에 ASP.NET과 크리스탈 리포트를 한 적이

ReportClass rptH = new ReportClass(); 
      var path = Server.MapPath("Reports/TestReport.rpt"); 

      rptH.Load(path); 
+0

누군가가 적어도 권해 봅니다. 더 이상 생각이 없습니다. – 1110

답변

0

. 이 작업을 수행 할 수 있는지 여부는 확실하지 않지만 정상적으로 작동합니다.

ReportDocument rptDoc = new ReportDocument(); 
rptDoc.Load(Server.MapPath("TestReport.rpt"); 

Response.Buffer = False 
Response.ClearContent() 
Response.ClearHeaders() 

rptDoc.ExportToDisk(ExportFormatType.PortableDocFormat, "TestReport.rpt") 
rptDoc.ExportToHttpResponse(ExportFormatType.PortableDocFormat, Response, True, "MyReport") 
+0

inetpub의 프로젝트 또는 유선 같은 보안 역할을 추가해야합니까? 브라우저에 보고서 URL을 입력하면 .rpt 파일을 다운로드합니다. 그래서 길은 좋다. 그러나 응용 프로그램은 그것을 찾을 수 없습니다 : ( – 1110

+0

당신은 무엇을하고 싶습니까? 브라우저에서 필요에 따라 즉시 표시 하시겠습니까? – Matt

+0

몇 줄을 추가했습니다. 문서 개체는 보고서를 내보낼 때 여러 가지 옵션이 있습니다. 두 가지 및 다른 옵션도 있습니다. – Matt

0

매개 변수가 정의되어 있으면 rpt 파일을 확인하십시오. 그 (것)들이 있고 그 (것)들을 필요로하지 않는 경우에 그것을 제거하십시오. 필요하면 코드에 값과 설명을 제공하십시오. 특급 :

rep = new ReportDocument(); 
string reportPath = Server.MapPath("Reports/TestReport.rpt"); 
rep.Load(reportPath); 
rep.SetParameterValue(0, "SomeValue"); 
crViewer.ReportSource = rep; 
crViewer.ParameterFieldInfo[0].CurrentValues[0].Description = "ParameterName"; 
crViewer.DataBind(); 
0

내가 문제를 찾을 수있는 곳이

ReportDocument rd = new ReportDocument(); 
    string FileName = Server.MapPath("~/Report") + "//YourReportName.rpt"; 
    rd.Load(FileName); 
    rd.SetDataSource(dt);