Что я пытаюсь сделать:
- Запустите Crystal Report прямо в PDF (в обход программы просмотра)
- Требуется вход в базу данных.
- Требуется один параметр. Это отображается как @rpt_args в приложении CR 11.
- Этот отчет Crystal вызывает процедуру Store для набора результатов.
Частичное решение
Мой код:
ReportClass rptH = new ReportClass();
//rptH.FileName = Server.MapPath("whkinvc.rpt");
rptH.FileName = "D:\\whkinvc.rpt";
rptH.Load();
rptH.SetDatabaseLogon("FAKEUSER", "FAKEPASSWORD", "FAKESERVER", "FAKEDB");
rptH.SetParameterValue("@rpt_args", atm.WorkingModel.Header.TicketNumber);
Stream stream = rptH.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat);
return File(stream, "application/pdf");
Я получаю ошибку при входе в базу данных. Правильно ли настроен мой код для выполнения искомого действия? Любая возможная причина сбоя входа в базу данных?
Спасибо
** Обновление **
Я работал через VS со следующим кодом (ошибка входа в базу данных была результатом опечатки):
ReportClass rptH = new ReportClass();
rptH.FileName = Server.MapPath(Url.Content("~/app_data/whkinvc.rpt"));
rptH.Load();
rptH.SetDatabaseLogon(...);
ParameterValues xyz = new ParameterValues();
ParameterDiscreteValue pdv = new ParameterDiscreteValue();
pdv.Value = atm.WorkingModel.Header.TicketNumber;
xyz.Add(pdv);
rptH.DataDefinition.ParameterFields["@rpt_args"].ApplyCurrentValues(xyz);
Stream stream = rptH.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat);
return File(stream, "application/pdf");
Я бы хотел, чтобы вывод перешел на новую вкладку или окно. В настоящее время он просто заменяет текущее окно.