2010-01-06 2 views
4

В моем приложении у меня есть график, который хранится в службах Reporting Services, есть метод, называемый «RenderStream», который называется, но он дает следующее сообщение об ошибке:Ошибки при вызове renderstream в службах отчетов 2008 WebService

«System .Web.Services.Protocols.SoapException не обрабатывается кодом пользователя Сообщение = "System.Web.Services.Protocols.SoapException: выбранный отчет не готов к просмотру. В отчете все еще находится

оказано или моментальный снимок отчета недоступен. ---> Microsoft.ReportingServices.Diagnostics.Utilities.ReportNotReadyException:

выбранный отчет еще не готов для просмотра. В докладе по-прежнему оказывается или снимок отчета не доступен. \ П на

Microsoft.ReportingServices.WebServer.ReportExecution2005Impl.RenderStream (String Format, String StreamID, String DeviceInfo, Byte [] &

Результат, Строка & Кодирование, String & MimeType) \ п на Microsoft.ReportingServices.WebServer.ReportExecutionService.RenderStream (String

Формат, String StreamID, String DeviceInfo, Byte [] & результата, String & Encoding, String & MimeType)»

Кто-нибудь сталкивался с этой ошибкой раньше?

Большое спасибо заранее, Крис.

+0

Любое разрешение с этим? Я вижу то же самое явление с приложением, над которым я тоже работаю.: / – tbehunin

ответ

0

Попробуйте отключить Snapshot Isolation

ALTER DATABASE AdventureWorks SET ALLOW_SNAPSHOT_ISOLATION = OFF

2

Благодаря очень ограниченной документации вокруг использования RenderStream(), я получаю эту ошибку, но я нашел решение. RenderStream() требует передать StreamId. Вы получаете массив этих идентификаторов из метода Render(). Следовательно, вы должны позвонить Render() перед вызовом RenderStream(). Кроме того, Render() возвращает ExecutionId в ExecutionHeader. Этот идентификатор должен быть передан в методе RenderStream(), также включенном в объект ExecutionHeader. Как только я это сделал, ошибка исчезла, и в отчете появилось изображение, которое я искал. Надеюсь, это поможет кому-то там.

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