Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Um eine benutzerdefinierte Assembly in SQL Server Reporting Services bereitzustellen, platzieren Sie die Assembly in den Anwendungsordnern sowohl des Berichts-Designers als auch des Berichtsservers. Standardmäßig erhalten Execution benutzerdefinierte Assemblys die Berechtigung in Reporting Services. Um benutzerdefinierte Assemblys über die Berechtigung "Ausführen" hinaus zu gewähren, müssen Sie die rssrvpolicy.config Konfigurationsdatei für den Berichtsserver und die rspreviewpolicy.config Konfigurationsdatei für das Vorschaufenster des Berichts-Designers bearbeiten. Alternativ können Sie Ihre benutzerdefinierte Assembly im globalen Assemblycache (GAC) installieren.
Hinweis
Es gibt zwei Vorschaumodi für Berichts-Designer: die Registerkarte "Vorschau" und das Popupvorschaufenster, das gestartet wird, wenn Ihr Berichtsprojekt im DebugLocal Modus gestartet wird. Die Registerkarte "Vorschau" führt alle Berichtsausdrücke mithilfe des FullTrust Berechtigungssatzes aus und wendet keine Sicherheitsrichtlinieneinstellungen an. Das Popup-Vorschaufenster soll die Berichtsserverfunktionalität simulieren und verfügt daher über eine Richtlinienkonfigurationsdatei, die Sie oder ein Administrator ändern muss, um benutzerdefinierte Assemblys im Berichts-Designer zu verwenden. Diese Popupvorschau sperrt auch die benutzerdefinierte Assembly. Daher müssen Sie das Vorschaufenster schließen, um den benutzerdefinierten Assemblycode zu ändern oder zu aktualisieren.
So stellen Sie eine benutzerdefinierte Assembly in Reporting Services bereit
Kopieren Sie die benutzerdefinierte Assembly vom Buildspeicherort in den Ordner "Berichtsservercontainer" oder den Ordner "Berichts-Designer". Der Standardspeicherort des Ordners "bin" für den Berichtsserver ist %ProgramFiles%\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer\bin. Der Standardspeicherort des Berichts-Designers ist %ProgramFiles%\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies.
Wenn Sie Ihre benutzerdefinierte Assembly im Ordner "Berichtsservercontainer" platzieren, können Sie Berichte veröffentlichen, die auf Ihre benutzerdefinierte Assembly verweisen, und sie im Ordner "Berichts-Designer" platzieren, sodass Sie Berichte ausführen und debuggen können, die auf Ihre benutzerdefinierte Assembly im Berichts-Designer verweisen.
Wenn Sie Ihren benutzerdefinierten Assemblycode über die Standardausführungsberechtigungen hinaus erteilen müssen:
Öffnen Sie die entsprechende Konfigurationsdatei. Der Standardspeicherort von rssrvpolicy.config ist %ProgramFiles%\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer. Der Standardspeicherort von rspreviewpolicy.config ist %ProgramFiles%\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies.
Fügen Sie eine Codegruppe für Ihre benutzerdefinierte Assembly hinzu. Weitere Informationen finden Sie unter Secure Development (Reporting Services).
Aktualisieren von benutzerdefinierten Assemblys
Irgendwann müssen Sie möglicherweise eine Version einer benutzerdefinierten Assembly aktualisieren, auf die derzeit von mehreren veröffentlichten Berichten verwiesen wird. Wenn diese Assembly bereits im Bin-Verzeichnis des Berichtsservers oder Berichts-Designers vorhanden ist und die Versionsnummer der Assembly auf irgendeine Weise erhöht oder geändert wird, funktionieren die aktuell veröffentlichten Berichte nicht mehr ordnungsgemäß. Sie müssen die Version der Assembly aktualisieren, auf die im CodeModules Element der Berichtsdefinition verwiesen wird, und die Berichte erneut veröffentlichen. Wenn Sie wissen, dass Sie häufig eine benutzerdefinierte Assembly aktualisieren und Ihre aktuell veröffentlichten Berichte auf die neue Assembly verweisen müssen, sollten Sie in Erwägung ziehen, die gleiche Versionsnummer für alle Updates einer bestimmten Assembly zu verwenden.
Wenn Sie ihre aktuell veröffentlichten Berichte nicht benötigen, um auf die neue Version der Assembly zu verweisen, können Sie Ihre benutzerdefinierte Assembly im globalen Assemblycache bereitstellen. Der globale Assemblycache kann mehrere Versionen derselben Assembly verwalten, sodass Ihre aktuellen Berichte auf die vorherige Version Ihrer Assembly verweisen können und ihre neu veröffentlichten Berichte auf die aktualisierte Assembly verweisen können. Ein weiterer Ansatz wäre es, die Bindungsumleitung des Berichtsservers festzulegen, um eine Umleitung aller Anforderungen für die alte Assembly auf die neue Assembly zu erzwingen. Sie müssen den Berichtsserver Web.config Datei und die Berichtsserverdatei ReportService.exe.config Datei ändern. Der Eintrag sieht möglicherweise wie folgt aus:
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="myAssembly"
publicKeyToken="32ab4ba45e0a69a1"
culture="neutral" />
<bindingRedirect oldVersion="1.0.0.0"
newVersion="2.0.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
Siehe auch
Verwenden benutzerdefinierter Assemblys mit Berichten
Arbeiten mit Assemblys und dem globalen Assemblycache