Серверный отчет в Crystal 2008?
-
05-07-2019 - |
Вопрос
Я хочу интегрировать Crystal Reports 2008 в приложение Windows Forms.Я хотел бы избежать прямых подключений моего клиентского приложения к базе данных, предоставив пользователю «полный» отчет.Возможно ли в Crystal Reports 2008 выполнить отчет на сервере в клиентском элементе управления Windows Forms на стороне клиента, аналогично службам Microsoft Reporting Services?
Решение
Я не знаю, действительно ли это именно то, что вам нужно, но я могу придумать два способа, которыми вы можете это подделать:
- Вы можете настроить свой отчет так, чтобы «база данных» представляла собой файл XSD, без знания реального бэкэнда.Затем во время выполнения вы отправляете данные в отчет.
// Создайте экземпляр во время выполнения, соответствующий вашей среде — только пример:
ReportClass rc = новый ReportClass();
rc.Load(crystalReportFileName);
rc.SetDataSource(myIEnumerableData);
CrystalReportViewer crv = новый CrystalReportViewer();
crv.ReportSource = rc;
// Отображение средства просмотра кристаллов.
2. Вы можете сделать то же самое, что и 1, на сервере (независимо от подхода к базе данных), затем сохранить отчет и отправить его клиенту.
// Некоторые серверные службы/методы и т. д.
public byte [] getmyreport () {
ReportClass rc = новый ReportClass();
rc.Load(crystalReportFileName);
rc.SetDataSource(myIEnumerableData);
rc.SaveAs(serverSideFile, True);// True имеет решающее значение для сохранения данных в отчете
возвращаться ....// конвертируем созданный файл в массив байтов, я полагаю
}
// Сторона клиента
byte[] повтор = Server.ПолучитьМойОтчет()
Класс отчета rc = .....// конвертируем отчет обратно в кристаллический отчет
CrystalReportViewer crv = новый CrystalReportViewer();
crv.ReportSource = rc;
Другие советы
Это не совсем то, о чем вы спрашиваете, но Crystal Reports Server выполняет отчеты на стороне сервера. Р>
С другой стороны, это раздражающе дорого.
http://www.businessobjects.com/product/catalog/crystalreports_server/а> р>
Я не могу добавить комментарий к вышесказанному, поскольку у меня нет баллов, но надеюсь, что это поможет.
Crystal Reports Server запускает отчеты самостоятельно для источников данных, идея состоит в том, что клиенты без Crystal Reports и доступа к данным могут запускать отчеты через Интернет или сервер запускает запланированные отчеты и отправляет результаты. Я не знаю, можете ли вы интегрировать это.