W poprzedniej notce na ten temat wspomniałem o “podstępnym” pomyśle wykorzystania pól Notes w Project Professional 2007/Project Server 2007 by mogły być wykorzystywane przy tworzeniu raportów w SQL Reporting Services.
Jednak opisany przeze mnie sposób mógł u niektórych osób powodować pojawienie się błędu w miejsce spodziewanego tekstu z pola Notes. Oto błąd, jaki mógł się pokazać po uruchomieniu reportu na serwerze Reporting Services:
Request for the permission of type 'System.Security.Permissions.UIPermission,
mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.
Raport uruchamiany lokalnie w Visual Studio 2005 nie pokazywał tego rodzaju błędu.
Do bardzo długich poszukiwaniach, konsultowaniu problemu z Christophem Fiessingerem, jego kolegą Samem Brooksem (który wymyślił tę metodę) udało mi się nawiązać kontakt z programistami SQL Reporting Services 2005. To właśnie z ich pomocą udało mi się ten problem rozwiązać.
Rozwiązaniem była poniższa modyfikacja pliku rssrvpolicy.config. Linie, które prezentuje zostały dodane do pliku, jaki miałem w systemie.
<SecurityClass
Name="UIPermission"
Description="System.Security.Permissions.UIPermission, mscorlib, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
</SecurityClasses>
[...]
<PermissionSet class="NamedPermissionSet" version="1" Name="UIP">
<IPermission class="SecurityPermission" version="1" Flags="Execution" />
<IPermission class="UIPermission" version="1" Unrestricted="true" />
</PermissionSet>
W domyślnej konfiguracji pliku rssrvpolicy.config można znaleźć definicję CodeGroup Report_Expressions_Default_Permissions. Tę grupę należy nakierować na wykorzystywanie nowego PermissionSetName o nazwie UIP, czyli dodajemy:
PermissionSetName="UIP"
do taga <CodeGroup>.
Specjalne podziękowania dla Jamie Warner’a za pomoc.
Ostatnie komentarze