2009-05-21 5 views
0

보고서가 있고 링크 하위 보고서를 클릭하면 데이터베이스 로그인 양식이 표시됩니다. 필요한 모든 연결 문자열을 제공했지만 여전히 로그인 정보를 묻는 메시지가 내 로컬 시스템에서 열리지 만 클라이언트 시스템에 설치하면이 문제가 발생합니다. 나는 무엇을 잃어 버렸는가, 무엇을해야 하는가?하위 보고서를 클릭하면 데이터베이스 로그인 프롬프트가 표시됩니다.

+0

보고서에 데이터베이스 연결을 어떻게 설정합니까? –

+0

dynDS.WriteXml ("dynRep.xml", XmlWriteMode.WriteSchema); rptDynamicReport rpt = 새 rptDynamicReport(); rpt.SetDataSource (dynDS); DEReportViewer.ReportSource = rpt; – Guddu

답변

1

크리스털 보고서의 코드에서 데이터베이스 연결을 설정할 때 데이터베이스 정의 보고서의 모든 단일 테이블에서 연결을 설정해야한다는 것을 발견했습니다. 다음과 같이 할 수 있습니다.

private static void SetConnectionInfo(ReportClass report, string ReportServer, string ReportDatabase) 
{ 
    TableLogOnInfo tInfo = new TableLogOnInfo(); 
    ConnectionInfo connectionInfo = tInfo.ConnectionInfo; 
    connectionInfo.IntegratedSecurity = true; 
    connectionInfo.ServerName = ReportServer; 
    connectionInfo.DatabaseName = ReportDatabase; 

    foreach (Table t in report.Database.Tables) 
    { 
     t.ApplyLogOnInfo(tInfo); 
    } 

    foreach (ReportClass subReport in report.Subreports) 
    { 
     SetConnectionInfo(subReport, ReportServer, ReportDatabase); 
    } 
} 
관련 문제