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

Ошибка выражения выражения: "[BC30456]" RdlObjectModel "не является членом" Службы Reporting Services ",

Наткнулся на непонятную проблему. Отправляю это, потому что мои поиски не нашли мой ответ. Надеюсь, это поможет кому-то еще.

Проблема: мой отчет служб отчетов будет скомпилирован, но во время выполнения выдает ошибку в соответствии с:

[BC30456] "RdlObjectModel" не является членом "Службы Reporting Services"

Это произошло после того, как я скопировал/вставил весь табликс из одного отчета в другой.
После того как я отменил изменение и удалил табликс, он снова заработал.
Оригинальный отчет с табликсом я копирую/вставляю отлично работает.

4b9b3361

Ответ 1

Нашел этот отчет об ошибках, который точно объяснил возникшую у меня проблему:

http://connect.microsoft.com/SQLServer/feedback/details/757358/pasting-objects-with-expressions-pastes-fully-qualified-functions

Резюме выше: при копировании/вставке выражений служб отчетов из одного места в другое (я скопировал целую таблицу с выражением в ней) все части этого выражения расширяются до их полных имен. Есть ошибка, связанная с тем, когда вы копируете/вставляете выражение, содержащее "Cstr()". Он получает полное имя, которое не разрешается правильно.

К счастью, это легко исправить, даже если у вас есть тонна таких выражений в вашем отчете. --Посмотреть > Код Сделайте поиск для "RdlObjectModel" или "Cstr". Вы ищете что-то вроде этого:

Microsoft.ReportingServices.RdlObjectModel.ExpressionParser.VBFunctions.Cstr([your expression here])

-Удалить все от "Microsoft" до "Cstr", чтобы оно выглядело так:

Cstr([your expression here])

-Save. Вы по существу отменили то, что Службы Reporting Services так "полезно" пытались сделать, когда вы копировали/вставляли expresion в первую очередь.

Ответ 2

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

Я сам это понял и удалил Microsoft.ReportingServices.RdlObjectModel.ExpressionParser.VBFunctions., добавленный глупым редактором. По-видимому, он добавляет полностью квалифицированную глупую нотацию dotNET при копировании любого другого объекта.

К сожалению, эти толчки в Microsoft пометили эту ошибку, так как она НИКОГДА НЕ ИСПРАВЛЯЕТСЯ (как и большинство ошибок Microsoft).