Crystal Reports «Ошибка загрузки отчета» при запуске отчета на сервере - PullRequest
7 голосов
/ 30 июля 2011

Я получаю сообщение об ошибке «загрузить отчет не удалось» на сервере, оно работает без ошибок на localhost Я использую VS 2008 с .Net 3.5.

Это мой код:

ReportDocument reportDocument = new ReportDocument();
    String filePath = @"C:\abcSpaces\abc.com\xyz.com\wwwroot\Order Fulfilment.rpt";//full path
// I have tried OrderFullfilment.rpt and ~/OrderFullfilment.rpt and /OrderFullfilment.rpt
    try
    {
        reportDocument.Load(filePath);
        CrystalReportViewer1.ReportSource = reportDocument;
    }
    catch(Exception ex){
        Label1.Text = ex.Message;
}

Aspx Часть страницы:

<CR:CrystalReportViewer ID="CrystalReportViewer1" runat="server" Height="1291px"
        ReuseParameterValuesOnRefresh="True" Width="1125px" />

^ Я пытался использовать

<CR:CrystalReportSource ID="CrystalReportSource1" runat="server">
        <Report FileName="expenseRep_summary.rpt">
        </Report>
</CR:CrystalReportSource>

без удачи с курса ...

мой раздел web.config для ссылок на сборки:

<compilation debug="true">
        <assemblies>
            <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
            <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            <add assembly="MySql.Data, Version=6.2.4.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D"/>
            <add assembly="MySql.Data.Entity, Version=6.2.4.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D"/>
            <add assembly="MySql.Web, Version=6.2.4.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D"/>
            <add assembly="CrystalDecisions.Web, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
            <add assembly="CrystalDecisions.Shared, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
            <add assembly="CrystalDecisions.ReportSource, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
            <add assembly="CrystalDecisions.CrystalReports.Engine, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/><add assembly="CrystalDecisions.ReportAppServer.ClientDoc, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/><add assembly="CrystalDecisions.Enterprise.Framework, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/><add assembly="CrystalDecisions.Enterprise.InfoStore, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
            <add assembly="CrystalDecisions.Data.AdoDotNetInterop, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
            <add assembly="CrystalDecisions.VSDesigner, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/></assemblies>
</compilation>

Я перепробовал все эти решения, размещенные в stackoverflow:

Отчет о загрузке CrystalReport не выполнен (нет, я не могу изменить реестр или переустановить отчеты Crystal, мой сайт размещен на внешнем сервере)

отчет о загрузке не удалось (где, черт возьми, objReport ??)

У меня проблема в Crystal Report - Сообщение об ошибке: Ошибка загрузки отчета (У меня нет объектов, ссылающихся на класс отчета: S)

Не удалось загрузить отчет при реализации отчета Crystal в asp.net 3.5 (я попробовал этот метод '~' + Абсолютный путь, но ни один из них не работает)

Ошибка загрузки отчета в Windows Server 2003 (я установил разрешения на чтение и запись для каждого файла)

https://stackoverflow.com/questions/3337185/crystal-report-giving-load-failed-error (этот парень, как я, еще не нашел решения: P)

Так что, пожалуйста, пожалуйста, помогите мне! Или мой клиент съест меня заживо ...

Ответы [ 5 ]

6 голосов
/ 30 января 2013

Я знаю, что это старый пост. но для тех, кто все еще ищет ответ:

Вам необходимо зарегистрировать отчеты Crystal в разметке страницы

<% @ Register Assembly="CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"
    Namespace="CrystalDecisions.Web" TagPrefix="CR" %>

Установите для свойства «Копировать в выходной каталог» отчета значение «Копировать всегда»

путь к файлу в crystalreportsource будет ~ / bin / YOURFOLDER / YOURFILE

<CR: CrystalReportSource ID ="CrystalReportSource1" runat ="server">
            <Report FileName="~/bin/oilmovement/rptOMDayEnd.rpt">
            </Report>
        </CR: CrystalReportSource>

Теперь отчет должен работать

1 голос
/ 07 августа 2013

У меня тоже была такая проблема, и после исчерпания всех других опций изменил настройку пула приложений Load User Profile с False на True, что решило проблему.

Это было в приложении, которое было развернуто на десятках серверов IIS6, IIS7, IIS7.5, и мы никогда раньше не сталкивались с этой проблемой. Пул приложений работал с сетевой службой идентификации (что обычно и происходит), и я сначала попытался дать разрешение C: \ windows \ temp, который не работал (хотя я не проверял, действительно ли это был временный каталог).

Я подозреваю, что другим решением могло быть добавление сетевой службы в группу IIS_IUSRS, но я этого не пробовал и не хотел этого делать на случай, если это повлияет на другие приложения на сервере.

1 голос
/ 10 февраля 2013
  • выберите пул приложений для приложения или веб-сайта
  • Нажмите на Переработка (правая боковая панель)
  • Уменьшите значение обычного интервала времени 1740 до 20 минут или установите желаемое значение
  • это освободит любой ресурс, удерживаемый iis.
  • перезагрузите iis.

надеюсь, что это решит вашу проблему

http://littleprograming.blogspot.com/2013/02/crystal-report-error-load-report-failed.html

1 голос
/ 14 августа 2012

Я знаю, что это старый вопрос, но сегодня у меня была похожая проблема.Отчеты работали локально, но при развертывании на сервере (IIS) у меня была та же ошибка.

Попробуйте добавить разрешения на запись / чтение в% TEMP% для пользователя IIS (процесс, который создает отчеты).

Отчеты создаются в Temp и оттуда зритель получает контент, который отображается на сайте.

1 голос
/ 30 июля 2011

У меня раньше была такая же проблема, и кажется, что вам нужно установить среду выполнения CR на сервере. Наличие только DLL недостаточно. Надеюсь, это поможет.

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