2013-04-26 4 views
7

У меня возникли проблемы с запуском отчетов в Sql Server Reporting Services (SSRS) 2008 R2.Содержимое отчета SSRS Пусто

После настройки сайта, создания нескольких пользователей и загрузки нескольких отчетов я выбираю отчет для запуска, ввод параметров и ожидание вывода отчета ... но ничего не происходит. Я вижу анимацию «Загрузка» в течение короткого промежутка времени (варьируется от одной до десяти секунд независимо от отчета), но вскоре она исчезает, не оставляя ничего, кроме параметров в верхней части страницы. Содержимое отчета не отображается вообще.

Это происходит в каждом отчете, который я развертываю в экземпляре SSRS, независимо от размера, количества параметров и т. Д. Большинство отчетов имеют около восьми параметров аналогичного типа, а их макеты являются относительно табличным форматом: это несколько «разделов», каждая из которых содержит таблицу, которая может иметь группировку и/или повторять строки. В среднем каждая таблица содержит около шести полей. Запросы, которые поддерживают наборы данных отчетов, не очень тяжелы: я могу запустить их против SQL в течение полуминут в большинстве случаев.

Я изучил и реализовал решения в следующих вопросах, но ни один из них не исправил проблему.

(относящиеся к Safari/Chrome) SSRS 2008 R2 - SSRS 2012 - ReportViewer: Reports are blank in Safari and Chrome

(Связанные с запуска браузера в качестве администратора) SSRS 2008 - Reporting Services Webpage is Blank except for headers

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

Однако я решил, что эта проблема напрямую связана с количеством параметров, переданных в отчет. Например, большинство моих отчетов имеют более шести или семи параметров с несколькими выборами; каждый из них заполняется во время выполнения из базы данных. Если пользователи выполняют «Выбрать все» или иным образом выбирают большое количество параметров в выборе параметров, появляется вышеупомянутая проблема. Однако, если пользователи специфичны с их параметрами и выбирают только несколько, то отчет отображается правильно.

Дальнейшее осложнение этой ситуации заключается в том, что он страдает синдромом «работа на моей машине». Это происходит в некоторых средах, но не в других.

Как уже упоминалось, я могу запускать отчеты, ограничивая количество выбранных значений параметров; это работает в любой среде. Мне любопытно, однако, почему это происходит (внутренний лимит SSRS, возможно?), И что я могу сделать, чтобы последовательно избегать этого в будущем.

+0

Вы бы добавить некоторые детали, такие как долго это нужно для запуска и сколько полей данных он натягивает? – StevenWhite

+0

Попробуйте использовать что-то вроде Fiddler, чтобы проверить свой трафик, посмотреть, что происходит. Проверка журнала iis/server также может помочь. – Jeroen

+0

@StevenW - Обновлено с более подробной информацией о размере отчета и времени выполнения, спасибо за ваш комментарий! – jtlovetteiii

ответ

0

Внутренних ограничений для параметров нет!

Первое предложение: ли легко отлаживать с отображением ярлыками, если таблица не возвращает «никакого значения»


я решил такую ​​же проблему с исправленным синтаксисом запросов для параметров в запросе SQL :

... 
WHERE t.FieldName = ISNULL (@parameter, t.FieldName) 
AND t.FieldName2 = ISNULL (@parameter2, t.FieldName2) 
... 
0

Я столкнулся с той же проблемой с выпадающим параметром множественного выбора с длинным списком возможных значений (> 100). Проверьте свою ситуацию и выясните, какой параметр разбивает отчет.

1

У меня была такая же проблема, как и у меня Alex Zakharov предложение Я нашел параметр, который имел почти 700 строк с выбранными ими по умолчанию. Отмена выбора нескольких строк сразу разрешила мою проблему, но это было неудовлетворительно для выпуска продукции.

Ищете лог-файлы, предложенные LRB (\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\LogFiles\) я нашел следующее сообщение об ошибке:

ERROR: HTTP status code --> 500 
-------Details-------- 
System.Web.HttpException: The URL-encoded form data is not valid. ---> 
System.InvalidOperationException: Operation is not valid due to the current state of the object. 
at System.Web.HttpValueCollection.ThrowIfMaxHttpCollectionKeysExceeded() 

Решение

Это привело меня к this answer, чтобы найти и обновить web.configs, добавьте строки кода ниже и перезапустите службу.

<appSettings> 
    <!-- default is 1000 --> 
    <add key="aspnet:MaxHttpCollectionKeys" value="2000" /> 
</appSettings> 

мне пришлось обновить в 2-х местах, поскольку SSRS есть отдельные сайты для менеджера отчетов и отчетов сервера: \Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer\web.config

\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportManager\web.config

0

ПРЕДЛОЖЕНИЮ

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

Использование Угловая вернуть HttpResponseMessage из веб-API, изначально это, как мой звонок был:

$http.get(url + 'Report/getUsersReport?CustomerId=' + searchCriteria.customerId + '&fromDate=' + searchCriteria.fromDate + '&toDate=' + searchCriteria.toDate).then(getContractsForBackOfficeReportComplete, function (err, status) {defered.reject(err);}); 

и после добавления этой строки кода { responseType: 'arraybuffer' }):

$http.get(url + 'Report/getUsersReport?CustomerId=' + searchCriteria.customerId + '&fromDate=' + earchCriteria.fromDate + '&toDate=' + searchCriteria.toDate, { responseType: 'arraybuffer' })(getUsersReportBackOffice, function (err, status) { 
defered.reject(err);}); 
+0

В чем вопрос? Что значит «этот вопрос»? – Gustave

Смежные вопросы