2009-05-21 2 views
0

У меня есть отчет, и когда вы нажимаете на ссылку subreport, я получаю форму входа в базу данных. Я дал все необходимые строки подключения, но все же он запрашивает данные для входа в систему. при установке в клиентской системе я получаю эту проблему. что мне не хватает или что мне делать?Вход в базу данных при нажатии на подзаголовки

+0

Как вы устанавливаете соединение с базой данных в отчете? –

+0

dynDS.WriteXml ("dynRep.xml", XmlWriteMode.WriteSchema); rptDynamicReport rpt = new 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); 
    } 
} 
Смежные вопросы