2014-11-07 5 views
1

VS2010에서 ReportViewer 컨트롤을 사용하고 있습니다. 내 로컬 개발 환경에서매개 변수를 사용할 때 SSRS ReportViewer가 실패합니다.

내가 사용하는 경우 :

ReportParameter[] toReportParameterList = new ReportParameter[1]; 
    toReportParameterList[0] = new ReportParameter("intApplicationID", Session["APPLICATION_ID"]); 
    rvFinancialSummaryReport.ServerReport.SetParameters(toReportParameterList); 

모든 것이 제대로 작동합니다.

스테이징/베타 환경에서 똑같은 작업을 시도 할 때 HTTP 401 인증 오류가 발생합니다.

세 줄을 주석 처리하면 보고서 매개 변수 섹션이로드되고 매개 변수를 입력 할 때 보고서를 올바르게 가져올 수 있습니다.

서버 보고서를 통해 매개 변수를 전달하려고하는 이유는 무엇입니까? HTTP 401이 표시됩니다.

편집

나는 아마 내가 같은 자격 증명 정보를 전송하고 있음을 추가해야합니다 : 이것은 한 설정 매개 변수가 없기 때문에 작동

string tsUserNameDomain = ConfigurationManager.AppSettings["ReportUserName"].ToString(); 
    string tsDomain = tsUserNameDomain.Substring(0, tsUserNameDomain.IndexOf("\\")); 
    string tsUsername = tsUserNameDomain.Substring(tsUserNameDomain.IndexOf("\\") + 1); 
    string tsPassword = ConfigurationManager.AppSettings["ReportPassword"].ToString(); 
    ReportViewerCredentials toCredentials = new ReportViewerCredentials(tsUsername, tsPassword, tsDomain); 
    rvFinancialSummaryReport.ServerReport.ReportServerCredentials = toCredentials; 

.

편집

그냥 한번 강조 ... 나는이 라인을 주석 때

rvFinancialSummaryReport.ServerReport.SetParameters(toReportParameterList); 

의미가 있습니다 ...

나는이 라인의 주석을 해제하는 경우 :

rvFinancialSummaryReport.ServerReport.SetParameters(toReportParameterList); 

HTTP 401 : Unauthorized가 표시됩니다.

편집

또 다른 세부 ... 내 SSRS 서버가 HTTP입니다, 내 IIS는 HTTPS ...

답변

0

이 시나리오 작업의 순서가 중요 것으로 보인다.

로컬 서버에 대한 광범위한 테스트가 끝난 후 매개 변수 값을 설정 한 후 자격 증명 값을 설정할 때 서버 보고서의 매개 변수 배열 개체가 null로 되돌아 왔음을 알게되었습니다.

신임 오브젝트의 인스턴스를 페이지로드 상단으로 이동했는데 이제는 모든 것이 올바르게 작동합니다.

관련 문제