Crystal Reports SetDatasource невероятно медленный - PullRequest
1 голос
/ 29 марта 2012

Вот ситуация:

У меня есть отчет, который был создан в Crystal Reports. Отчет был создан с использованием XSD, сгенерированного из DataSet - того же самого DataSet, который используется для заполнения отчета. Содержит значительное количество таблиц.

Я попытался вызвать SetDataSource для отчета и передать весь DataSet, но большинство полей не заполняются, несмотря на наличие значений в DataSet. Я могу проверить это через отладчик - значения, передаваемые в отчет, в порядке. Существует потенциальная проблема с тем, как DataSet сопоставляется с самим Crystal Reports.

Чтобы обойти это, я пытаюсь вызвать report.SetDataSource () для каждой таблицы. Это оказывается очень медленным - каждый вызов SetDataSource занимает> 20 секунд. При наличии более 100 таблиц в наборе данных это абсолютно недопустимо. Из того, что я смог выяснить, может быть несколько причин для этого:

  1. Вызов SetDataSource является самым медленным способом создания отчета Crystal. К сожалению, переключить его на что-то другое в данный момент уже невозможно.
  2. Вызов SetDataSource заставляет Crystal Reports пытаться аутентифицироваться на каком-либо сервере сертификатов, как описано здесь:

http://bonkel.wordpress.com/2008/11/18/crystal-reports-slow-load-using-net-c-setdatasource/

К сожалению, у меня нет возможности проверить вещи. Мой локальный брандмауэр выключен, но, возможно, есть какой-то другой корпоративный брандмауэр.

В любом случае, есть проблема - либо что-то не так с тем, как Crystal извлекает данные из DataSet, либо есть проблема с тем, что Crystal вечно обрабатывает вызов SetDataSource.

У кого-нибудь есть какие-либо мысли по этому поводу, и что я мог бы сделать, чтобы правильно составить карту или ускорить ее?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...