Не удается развернуть или загрузить большой отчет SSRS 2008 из VS или IE
Пока в этом проекте у меня есть два отчета в VS2008/BIDS. Первый содержит 1 табликс и составляет около 100 тыс. второй содержит 3 табликса (таблицы? я могу успешно развернуть меньший отчет из VS, и я могу загрузить его из диспетчера отчетов в IE. Я могу просмотреть / запустить его из диспетчера отчетов, и я могу получить URL-адрес сервера отчетов (веб-службы) из моего браузера просто отлично. Все делается через HTTPS, и нет ничего плохого в том, что сертификаты.
В более крупном отчете ошибка, которую я получаю в VS, - это "тайм-аут операции" примерно через 100 секунд. Ошибка при загрузке из IE - "базовое соединение было закрыто: произошла непредвиденная ошибка при отправке" примерно через 130 секунд.
В RSReportServer.конфигурационный файл я попытался изменить Authentication/EnableAuthPersistence с true на false и перезапустить службу, но все равно получил ошибку. У меня есть ключ "SecureConnectionLevel", установленный на 2. Изменение этого значения на 0 и отключение SSL не будет являться опцией. Я добавил раздел реестра с именем "MaxRequestBytes" в HKEY_LOCAL_MACHINESystemCurrentControlSetServicesHTTPParameters и установил его на 5242880 (5 Мб) и перезапустил службы HTTP и SRS, как было предложено в сообщении на форуме Джин Чен из MSFT.
Я все еще не могу загрузить более крупный отчет. Это на MS SQL 2008 и WS 2003. Ниже приведена часть записи файла журнала из ...Reporting ServicesLogFiles, когда я пытался загрузить от IE.
library!WindowsService_0!89c!02/10/2010-07:57:57:: i INFO: Call to CleanBatch() ends
ui!ReportManager_0-1!438!02/10/2010-07:59:33:: e ERROR: The underlying connection was closed: An unexpected error occurred on a send.
ui!ReportManager_0-1!438!02/10/2010-07:59:34:: e ERROR: HTTP status code --> 500
-------Details--------
System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a send.
---> System.IO.IOException: Unable to write data to the transport connection: An established connection was aborted by the software in your host machine.
---> System.Net.Sockets.SocketException: An established connection was aborted by the software in your host machine
at System.Net.Sockets.Socket.MultipleSend(BufferOffsetSize[] buffers, SocketFlags socketFlags)
at System.Net.Sockets.NetworkStream.MultipleWrite(BufferOffsetSize[] buffers)
--- End of inner exception stack trace ---
...
1 ответ:
Я думаю, что понял это. Запись в блоге об увеличении максимального количества байтов запроса указывала на добавление раздела реестра с именем "MaxRequestBytes" в HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters, что я и сделал, а затем перезапустил соответствующие службы. Поскольку у меня все еще была проблема, я продолжал искать решение, и, как оказалось, "MaxRequestBytes" должен быть добавлен не как раздел реестра, а как значение DWORD. Смотрите Http.параметры реестра sys для IIS для подробная информация. Для MaxRequestLength значение по умолчанию равно 16384, а max-16777216 (16 МБ). Мой установлен на 1048576 (1 МБ).
Другое дело, что я смотрел на был атрибут maxrequestlength в то, что Элемент .
Последняя вещь, чтобы убедиться, что Раздел HKEY_LOCAL_MACHINE\система\CurrentControlSet на\услуги\протокол tcpip\параметры\параметр enabletcpchimney уже был установлен на 0.
Сервер был перезагружен по другой причине после внесения изменений в реестр MaxRequestLength, и теперь я могу загружать все отчеты, включая более крупный, все через HTTPS.
Comments