Ошибка выражения выражения: "[BC30456]" RdlObjectModel "не является членом" Службы Reporting Services ",
Наткнулся на непонятную проблему. Отправляю это, потому что мои поиски не нашли мой ответ. Надеюсь, это поможет кому-то еще.
Проблема: мой отчет служб отчетов будет скомпилирован, но во время выполнения выдает ошибку в соответствии с:
[BC30456] "RdlObjectModel" не является членом "Службы Reporting Services"
Это произошло после того, как я скопировал/вставил весь табликс из одного отчета в другой.
После того как я отменил изменение и удалил табликс, он снова заработал.
Оригинальный отчет с табликсом я копирую/вставляю отлично работает.
Ответы
Ответ 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).