web-dev-qa-db-fra.com

Erreur d'expression de valeur: "[BC30456] 'RdlObjectModel' n'est pas membre de 'Reporting Services'

Nous sommes tombés sur un problème obscur. Publier ceci parce que mes recherches de débordement de pile n'ont pas trouvé ma réponse. J'espère que cela aidera quelqu'un d'autre.

Problème: mon rapport Reporting Services sera compilé, mais au moment de l'exécution, il fournit une erreur du type:

[BC30456] 'RdlObjectModel' n'est pas membre de 'Reporting Services'

Cela s'est produit après avoir copié/collé un tablix entier d'un rapport à un autre.
Après avoir annulé la modification et supprimé le tableau matriciel, cela a de nouveau fonctionné.
Le rapport original avec le tablix que je copie/colle fonctionne très bien.

25
Voysinmyhead

Trouvé ce rapport de bogue qui explique exactement le problème que j'ai eu:

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

Résumé de ce qui précède: lorsque vous copiez/collez des expressions Reporting Services d'un endroit à un autre (j'ai copié un tablix entier, avec des expressions), toutes les parties de cette expression sont développées jusqu'à leur nom complet. Il existe un bogue spécifique au moment où vous copiez/collez une expression contenant "Cstr ()". Il obtient un nom complet qui ne se résout pas correctement.

Heureusement, cela est facile à résoudre, même si vous avez une tonne de telles expressions dans votre rapport. - Allez dans Affichage> Code Faites une recherche pour "RdlObjectModel" ou "Cstr". Vous cherchez quelque chose comme ça:

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

-Supprimez tout de "Microsoft" à "Cstr" pour qu'il ressemble à ceci:

Cstr([your expression here])

-Sauver. Vous avez essentiellement annulé ce que les services de rapports ont essayé de faire "utilement" lorsque vous avez copié/collé l'expression en premier lieu.

54
Voysinmyhead

Je viens d'avoir un problème similaire, mais c'était avec une autre fonction de conversion - CDEC. Je suppose que des problèmes similaires se produiraient en utilisant n'importe quelle fonction du groupe Conversion et probablement d'autres.

Je l'avais compris moi-même et supprimé les Microsoft.ReportingServices.RdlObjectModel.ExpressionParser.VBFunctions. que l'éditeur stupide a ajouté. Évidemment, il ajoute une notation dotNET stupide entièrement qualifiée lors de la copie de tout autre objet.

Malheureusement, ces saccades chez Microsoft ont marqué ce bogue comme NE JAMAIS CORRIGER (comme la plupart des bogues Microsoft).

3
Hannover Fist