Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Почему Crystal Reports для VS 2008 выдает ошибку загрузки отчета. COMException: Ошибка сервера приложений отчетов при отправке отчета на принтер?

Автор вопроса: CommunityОтветов: 2

У меня есть служба .NET Windows, в которой есть программа просмотра отчетов Crystal. когда он опрашивает базу данных и находит заказы в реальном времени, он отправляет отчет на принтер в сети. это сервер Windows2003 64bit. Я установил msi на 64-битный сервер, найденный в моей установке Visual Studio:

C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\CrystalReports10_5\CRRedist2008_x64.msi.

Я получаю эту ошибку слишком часто, иногда 3-4 раза в день. Я должен признать, что это был проект, изначально написанный на VB6 и cr8.5. Я, наконец, обновился до vs2003 и, в конечном итоге, до 64-битной версии .net 2.0, и она повсюду терпит неудачу. С каждым апгрейдом все хуже.

  1. Должен ли я создать новую службу Windows, а не использовать проект, который прошел мастер обновления до vs2008??

  2. Как вы думаете, есть ли конфликт с msi из 32-битной версии crystal, работающей на том же сервере для моих веб-приложений 1.1? да, iis6 временно работает в 32-битном режиме... это старый отчет, но я обновил его до 10.5. помощь!

Вот дамп стека:

Исключение по умолчанию: CrystalDecisions.Shared.CrystalReportsException: Ошибка загрузки отчета. ---> System.Runtime.InteropServices.COMException (0x80004005): Ошибка сервера приложений отчетов в CrystalDecisions.ReportAppServer.ClientDoc.ReportClientDocumentClass.Open(Object& DocumentPath, Int32 Options) в CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.Open(Object& DocumentPath, Int32 Options) в CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened() --- Конец внутренней трассировки стека исключений --- в CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened() в CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename, OpenReportMethod openMethod , Int16 parentJob) в CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(строковое имя файла) в PickTicketServer.PickTicketServer.PrintPickTicket(Int64 INlngOrderID, логическое значение INblnPickOrPack, Int64 INlngCompanyID)

windows-services64-bitcrystal-reportsvisual-studio-2008windows-server-2003

Ответы

Ответ 1 · Ed S.

Имеет ли пользователь, под которым вы работаете, права доступа к принтеру? Это может вызвать эту ошибку.

Ответ 2 · katty ross

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы