Неустойчивая ошибка Crystal Reports “Запрос не могла быть отправлена для фоновой обработки”.

Мы выполняем Crystal Reports на Windows Server 2008 с платформой.NET 3,5 SP1.

Я видел, что много причин общей ошибки "Запрос не могли быть отправлены для фоновой обработки". на других форумах однако они имеют тенденцию быть персистентным и повторяемым влиянием просто единственный отчет из-за определенной проблемы форматирования с определенным отчетом.
Мы видим эту ошибку с ниже отслеживания стека, периодически.

  • Это влияет на несколько различных отчетов, которые мы имеем.
  • Это влияет на один конкретный отчет более часто, чем другие отчеты.
  • После того как отчет затронут, та же ошибка будет часто появляться в нескольких отчетах приблизительно в то же время, например, в течение следующих 10 минут.
  • Тот же отчет, выполненный с теми же параметрами, может работать, когда выполнено снова (вскоре после) или приложение, возможно, нуждается в перезапуске, прежде чем отчет сможет быть успешно выполненным ре.

Эти отчеты все работали ранее без проблемы. Никакое изменение в сервере или коде не кажется очевидным, который ускорил бы эту ошибку. Всем кодом позади для этого является VB.NET

Мы испытали затруднения при репродуцировании его в тестовых средах, и обновление до последней версии Crystal не помогло вообще. Любая справка или предположения, что Вы смогли делать для решения этого вопроса, будут цениться.


"The request could not be submitted for background processing."  
  at CrystalDecisions.ReportAppServer.Controllers.DatabaseControllerClass.ReplaceConnection(Object oldConnection, Object newConnection, Object parameterFields, Object crDBOptionUseDefault)  
  at CrystalDecisions.CrystalReports.Engine.Table.SetDataSource(Object val, Type type)  
  at CrystalDecisions.CrystalReports.Engine.ReportDocument.SetDataSourceInternal(Object val, Type type)  
--- End of inner exception stack trace ---  
  at CrystalDecisions.ReportAppServer.ConvertDotNetToErom.ThrowDotNetException(Exception e)  
  at CrystalDecisions.CrystalReports.Engine.ReportDocument.SetDataSourceInternal(Object val, Type type)  
  at CrystalDecisions.CrystalReports.Engine.ReportDocument.SetDataSource(DataSet dataSet)  
  at "USER CODE"
5
задан Robert 2 February 2010 в 01:03
поделиться

1 ответ

Есть вероятность, что объект отчета просочивается в памяти сервера? Я бежал в аналогичный случай, когда объект отчета хранится в объекте сеанса, поэтому отчет не должен быть перезагружен как пользователь, находящийся между страницами. Однако, когда пользователь был сделан с отчетом, объект остался на сеансе, и не был правильно убран, когда сеанс был уничтожен сервером. Мне пришлось добавить немного кода в событии Session_end в Global.Asax, чтобы найти объект отчета и позвонить в метод Dispose на нем.

Тот факт, что это происходит периодически, но затем влияет на все отчеты в течение 10 минут заставляет меня думать, что это может быть связано с сеансом. В моей ситуации сервер достиг пределе на количество отчетов, которые могут быть созданы на сервере (в памяти), потому что они не были выпущены. Симптомы были похожи на ваши.

Надеюсь, это поможет!

0
ответ дан 14 December 2019 в 13:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: