Подтвердить что ты не робот

Ошибка Crystal Report в IIS - (bobj - undefined, отчет Crystal не отображается)

У меня есть отчет Crystal 2010, установленный с VS 2010.i создал хрустальный отчет, который отлично работает в локальном хосте, но проблема заключается в том, чтобы однажды опубликовать мой сайт в IIS, отчет никогда не отображается. Он просто отображает пустую страницу. я проверил мою опубликованную папку, даже файл .rpt не существует. Скажите, как решить эту проблему?

4b9b3361

Ответ 1

Решение

Решение состоит в том, чтобы работать с IIS следующим образом:

  • Скопировать папку aspnet_client из c:\inetpub\wwwroot в корневую папку нового веб-сайта.

или (сначала проще, второй лучше для обслуживания)

  • Создайте виртуальный каталог с именем aspnet_client, который указывает на c:\inetpub\wwwroot\aspnet_client внутри нового веб-сайта

Анализ проблем

Можно проанализировать проблему

  • с помощью клиентских инструментов (отладочное окно браузера)

GET http://someserver:20080/aspnet_client/system_web/4_0_30319/crystalreportviewers13/js/crviewer/crv.js 403 (Forbidden)
GET http://someserver:20080/aspnet_client/system_web/4_0_30319/crystalreportviewers13/js/crviewer/images/style.css 403 (Forbidden)

  • или серверный инструмент (журнал IIS, на WIN2003 помещается в %SYSTEMROOT%\System32\LogFiles\W3SVC###\ на WIN2008 C:\inetpub\logs\LogFiles\W3SVC###).

2011-03-28 13:00:49 W3SVC701536 95.228.38.41 GET/aspnet_client/system_web/4_0_30319/crystalreportviewers13/js/crviewer/images/style.css - 20080 - 192.168.1.2 Mozilla/5.0 + (совместимо; + MSIE + 9.0; + Windows + NT + 6.1; + Trident/5.0) 403 6 64 Errore! 2011-03-28 13:00:49 W3SVC701536 95.228.38.41 GET/aspnet_client/system_web/4_0_30319/crystalreportviewers13/js/crviewer/crv.js - 20080 - 192.168.1.2 Mozilla/5.0 + (совместимо; + MSIE + 9.0; + Windows + NT + 6.1; + Trident/5.0) 403 6 64 Errore!

Причина проблемы

Установлена ​​среда исполнения Crystal Reports, но ваше приложение не работает на веб-сайте по умолчанию.

  • В обоих случаях я обнаружил, что crv.js и style.css некоторые файлы не были отправлены;
  • эти файлы размещаются установщиком CR в папке wwwroot\aspnet_client, но по некоторым причинам их невозможно достичь;
  • В моем случае причина в том, что я создаю другой сайт (порт 20080), а папка aspnet_client не помещается внутри этого веб-сайта

Я вижу, что вы используете разные версии программного обеспечения и разные конфигурации, но Я думаю, что у вас такая же проблема..

Ответ 2

Эта проблема была трудной для меня решить.

Моя конфигурация - версия VS 2010, CR 14.0.2000.0, Window Server 2008 R2, IIS 7. Я получил решение. Я попробовал почти все решения, данные в сети. И я реализовал все трюки. Наконец, отчет отображается путем комментирования строки ниже в web.config.

<add key="ResourceUri" value="/crystalreportviewers13"></add>

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

Я пробовал все ниже:

  • Установлено время выполнения CR для CRRuntime_32bit_13_0_4 и CRRuntime_64bit_13_0_4.
  • Позже я удалил CRRuntime_32bit_13_0_4, пока он работает.
  • Разместил папку aspnet_client внутри папки WWWRoot.
  • Разместил папку aspnet_client внутри моей папки приложения.

Перезапуск IIS, когда-либо я что-то сделал.

Ответ 3

Лучший ответ на этот вопрос здесь!

http://social.msdn.microsoft.com/Forums/en-US/vscrystalreports/thread/ef56f72b-7ede-47d8-ba9e-9e63b9ac0203

  • Вам нужно использовать проект веб-приложений, проект без веб-сайта, потому что веб-приложение также будет объединять DLL.
  • Скопировать C:\inetpub\wwwroot\aspnet_client\system_web\4_0_30319\crystalreportviewers13 (вы получите его при установке -CRforVS_redist_install_32bit_13_0.exe) К вашему проекту, например (ProjectName/crystalreportviewers13)

    /li >
  • скопируйте это ниже в свой web.config

3.1

<configSections>
<sectionGroup name="businessObjects">
  <sectionGroup name="crystalReports">
    <section name="rptBuildProvider" type="CrystalDecisions.Shared.RptBuildProviderHandler, CrystalDecisions.Shared, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304, Custom=null" />
       <section name="crystalReportViewer" type="System.Configuration.NameValueSectionHandler" />
  </sectionGroup>
</sectionGroup>
  </configSections>

3,2

<businessObjects>
      <crystalReports>
        <rptBuildProvider>
          <add embedRptInResource="true" />
        </rptBuildProvider>
        <crystalReportViewer>
              <add key="ResourceUri" value="/crystalreportviewers13" />
      </crystalReportViewer>
      </crystalReports>
    </businessObjects>

3.4 Опубликуйте свое веб-приложение в режиме FTP в любой папке и скопируйте публикацию на свой веб-сервер, затем ПРОВЕРИТЕ его!

Ответ 4

Одна, невероятно простая причина, по которой это также происходит, заключается в том, что сервер не настроен правильно, то есть статический контент не включен в Common HTTP-функциях в рамках ролей сервера/функций Windows.

Включение статического содержимого

Ответ 5

Сначала вручную опубликуйте rpt файлы в своей папке на сервере. Если это работает, то это просто проблема развертывания. Попробуйте убедиться, что действие сборки для файла при нажатии на него - "Содержимое". Попробуйте, если вы немного поправитесь.

Ответ 6

Наконец, я получил его, как описано ниже, в старой и фиксированной версии, потому что на моем сервере разработки мне нужно "~", что не так на сервере разработки, кроме того, что я точно следил за ссылкой. старый:

исправлено:

Ответ 7

Настройка

<compilation debug="false">

в web.config работал у меня.

Ответ 8

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

Сценарий: CrystalReportsViewer отображает пустой экран браузера (без просмотра или любой пустой страницы отчетов) Просмотр источника показывает весь контент отчета с кодом зрителя Браузер может или не может отображать bobj undefined error

Тест: Просмотрите папку http://<server name>/aspnet_client/system_web/4_0_30319/crystalreportviewers13/images/buttonl.gif - Если вы не видите изображения, то это та же проблема, с которой сталкивается crystalreportsviewer при отображении отчетов

Настройки IIS для изменения: Разверните папки вашего веб-сайта в IIS (7.0 или выше) Выберите папку "aspnet_client" Выберите "Аутентификация" на главной странице (вид функций) Выберите "Анонимный доступ" и "Включить", используя меню "Действия" на правой панели (это ТОЛЬКО для цели тестирования, вы можете отключить это позже) Выберите "Отображения обработчиков" на главной панели (вид функций) В меню "Действия" в правой панели Нажмите "Возврат к унаследованному" Принять, чтобы вернуться после запроса подтверждения

Повторите тест: Просмотрите папку http:///aspnet_client/system_web/4_0_30319/crystalreportviewers13/images/buttonl.gif - если у вас есть образ, который вы могли бы также исправить ваш отчет

По крайней мере, я не мог найти это решение в любом месте.

Примечание: Не забудьте отключить анонимный доступ к папке aspnet_client в IIS, если вы сделали это для тестирования (как указано выше)

Ответ 9

Он может просто решить проблему, если вы скопируете папку aspnet_client из C:\inetpub\wwwroot в папку вашего вновь созданного веб-сайта. Например, если ваше имя веб-сайта является TestWebsite, поместите папку aspnet_client в папку TestWebsite. Вам не нужно вносить изменения в конфигурацию web.config

Ответ 10

Я знаю, что это было спрошено несколько лет назад. Но этот метод работал на меня. Это для людей, которые когда-нибудь столкнутся с такой проблемой.

Я создал свое приложение в 32-битной среде и изменил его на 64 бит. Я развернул мое веб-приложение на веб-сервере IIS (текущий 64-разрядный) и создал свой собственный пул приложений (с включенным режимом управления конвейером).

Затем, когда эта проблема возникла, я выполнил эти инструкции из этой ссылки. Я изменил режим управления конвейером на классический, и мое приложение работало.

Ответ 11

Возможный сценарий заключается в том, что веб-сайт IIS Server не имеет значения по умолчанию C:\inetpub\wwwroot, поскольку по умолчанию Crystal устанавливает его файлы приложения в папку aspnet_client\system_web\4_0_30319\crystalreportviewers13.

Таким образом, возможным ответом является установка физического пути веб-сайта в c:\inetpub\wwwroot

Ответ 12

Добавьте эту ссылку на javascript на хрустальном отчете на главной странице или странице, в которой отображается отчет:

<script src='<%=ResolveUrl("~/crystalreportviewers13/js/crviewer/crv.js")%>'type="text/javascript"></script>

Ответ 13

В моем случае я только что обновил SAP Crystal Reports Runtime Engine для .NET через приложения и функции, я использовал хрустальный отчет версии 18 на моем сервере разработки, когда я развернул приложение на другой сервер, я получил эту ошибку, затем я проверил версию, в которой я не получил версию, только я установил дату, поэтому Я обновил последнюю версию... и она работала

Ответ 14

Добавьте ниже код в файл aspx, где существует отчет о кристалле.

<script src="../../aspnet_client/system_web/4_0_30319/crystalreportviewers13/js/crviewer/crv.js" type="text/javascript" > 
</script>

Также скопируйте папку aspnet_client из папки c:\inetpub\wwwroot в корневую папку нового веб-сайта.

Этот метод решает ниже два вопроса, теперь работает отлично

  • bobj - undefined.
  • Отчет Crystal не отображается.

Ответ 15

Я знаю, что это немного маленькая старая статья, но я думаю, что новички, подобные мне, могут получить помощь от этого. добавьте этот код в свой файл web.config и скопируйте папку "crystalreportviewers13" из "c:\inetpub\wwwroot\aspnet_client" в корневую директорию

<configSections>
<sectionGroup name="businessObjects">
  <sectionGroup name="crystalReports">
    <section name="rptBuildProvider" type="CrystalDecisions.Shared.RptBuildProviderHandler, CrystalDecisions.Shared, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304, Custom=null" />
       <section name="crystalReportViewer" type="System.Configuration.NameValueSectionHandler" />
  </sectionGroup>
</sectionGroup>
  </configSections>
<businessObjects>
  <crystalReports>
    <rptBuildProvider>
      <add embedRptInResource="true" />
    </rptBuildProvider>
    <crystalReportViewer>
          <add key="ResourceUri" value="/crystalreportviewers13" />
  </crystalReportViewer>
  </crystalReports>
</businessObjects>

Ответ 16

Что-то еще, что вы можете сделать, это изменить "путь виртуального доступа". После проверки консоли Chrome и просмотра сети я заметил, что приложения не доходили до ресурсов js и css, так как это было настроено на имя веб-проекта, поэтому установите это на /, и это сделало трюк.