Возврат данных из вызова веб-службы отчетов SQL Server - PullRequest
0 голосов
/ 18 марта 2009

Я создаю отчет, который содержит номер версии. Номер версии сохраняется в БД и извлекается / увеличивается как часть генерации отчета.

Единственная проблема в том, что я вызываю SSRS через вызов веб-службы, который возвращает сгенерированный отчет в виде байтового массива.

Есть ли способ получить номер версии из этого сгенерированного отчета? Например, чтобы отобразить диалог с надписью

Вы создали отчет о состоянии, номер версии 3

Я попытался передать выходной параметр и установить его внутри хранимой процедуры. Его изменяют, когда я выполняю его в студии управления sql, но не в студии отчетности. Или, по крайней мере, я не могу связать измененное значение после выполнения (используя выражение =Parameters!ReportVersion.Value).

Конечно, я мог бы сам получить / увеличить номер версии из базы данных перед вызовом веб-службы SSRS и передать его в качестве параметра в отчет, но это может вызвать проблемы с параллелизмом.

В целом, для хранимого процесса просто необходим доступ / генерирование номера версии и возврат его в ReportingEngine, который сгенерирует отчет с номером версии и вернет обновленный номер версии клиенту WebService. *

Есть мысли / идеи?

Ответы [ 2 ]

0 голосов
/ 23 мая 2009

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

Надеюсь, это поможет,

Bill

0 голосов
/ 09 апреля 2009

Поскольку я пока не могу добавить комментарий ...

Просто выбрасываю это. Возможно, представьте отчет как XML (в объект документа XML) и извлеките номер своей версии через XQuery или XPath.

Конечно, это, вероятно, испортило бы всю вашу схему "управления версиями", так как вы представляете отчет дважды. Возможно, добавить параметр, который указывает, следует ли увеличить номер вашей версии?

...