Printer Delivery-Erweiterungsbeispiel
Aktualisiert: 05. Dezember 2005
Das PrinterDelivery-Beispiel ist ein Übermittlungserweiterungsbeispiel, das eine Einführung in die Reporting Services-Übermittlung bietet. Bei diesem Beispiel handelt es sich um eine einfache Übermittlungserweiterung für einen Drucker. Mit der IMAGE-Renderingerweiterung und dem Namespace System.Drawing.Printing in .NET Framework wird dabei ein Bericht an einen Drucker übermittelt. Dieses Beispiel wird nicht auf Itanium-basierten Betriebssystemen unterstützt.
Die SQL Server-Beispiele werden während des Setups nicht automatisch installiert. Anweisungen zum Installieren der Beispiele finden Sie unter Installieren von Beispielen.
Wichtig: |
---|
Die Beispiele dienen nur zu Lernzwecken. Sie sind nicht für die Verwendung in einer Produktionsumgebung gedacht und wurden nicht in einer Produktionsumgebung getestet. Microsoft bietet für diese Beispiele keinen technischen Support. Beispielanwendungen und Assemblys sollten nicht ohne die Zustimmung des Systemadministrators mit der SQL Server-Datenbank oder dem Berichtsserver verbunden sein oder verwendet werden. |
Anforderungen
Damit Sie das Printer Delivery-Beispiel ausführen können, sollten Sie mit Visual Studio und Microsoft Visual C# vertraut sein. Außerdem muss Ihr System die folgenden Anforderungen erfüllen:
- Microsoft Visual Studio 2005.
- Microsoft .NET Framework, Version 2.0
- Reporting Services-Beispiele.
- Ein Berichtsserver, für den Sie in Ihrem Netzwerk die Zugriffsberechtigung haben, falls Sie mit der Beispielerweiterung zusätzliche Datenverarbeitungsfunktionen zu Ihrem Server hinzufügen möchten.
Speicherort
Dieses Beispiel befindet sich im Unterverzeichnis Extension Samples\PrinterDelivery Sample des Verzeichnisses mit den Reporting Services-Beispielen.
Beispiel:
C:\Program Files\Microsoft SQL Server\90\Samples\Reporting Services\Extension Samples\PrinterDelivery Sample
Erstellen des Beispiels
Führen Sie die folgenden Schritte aus, um das Beispiel zu erstellen.
Generieren Sie die Schlüsseldatei mithilfe der folgenden Anweisungen, falls Sie noch keine Schlüsseldatei mit starkem Namen erstellt haben.
So generieren Sie eine Schlüsseldatei mit starkem Namen
Öffnen Sie eine Microsoft Visual Studio 2005-Eingabeaufforderung. Klicken Sie auf Start, zeigen Sie auf Alle Programme und danach auf Microsoft .NET Framework SDK 2.0, und klicken Sie anschließend auf SDK-Eingabeaufforderung.
– oder –
Öffnen Sie eine Microsoft .NET Framework-Eingabeaufforderung. Klicken Sie auf Start, zeigen Sie auf Alle Programme und dann auf Microsoft .NET Framework SDK 2.0, und klicken Sie anschließend auf SDK-Eingabeaufforderung.
Wechseln Sie an der Eingabeaufforderung mit dem Befehl CD (Verzeichnis wechseln) im Eingabeaufforderungsfenster vom aktuellen Verzeichnis zu dem Ordner, in dem die Beispiele installiert sind.
Hinweis: Klicken Sie auf Start, zeigen Sie auf Alle Programme, Microsoft SQL Server und auf Dokumentation und Lernprogramme, und klicken Sie dann auf Beispielordner, um den Ordner zu ermitteln, in dem sich die Beispiele befinden. Wenn das Standardverzeichnis verwendet wurde, befinden sich die Beispiele im Verzeichnis <Systemlaufwerk>:\Programme\Microsoft SQL Server\100\Samples. Führen Sie an der Eingabeaufforderung den folgenden Befehl zum Generieren der Schlüsseldatei aus:
sn -k SampleKey.snk
Wichtig: Weitere Informationen zum Schlüsselpaar mit starkem Namen finden Sie unter "Security Briefs: Starke Namen und Sicherheit im .NET Framework" unter ".NET-Entwicklung" auf der MSDN-Website.
So kompilieren Sie das Beispiel mit dem .NET Framework SDK
Kopieren Sie die Datei Microsoft.ReportingServices.Interfaces.dll vom Berichtsserververzeichnis \bin in Ihren Beispielordner. Standardmäßig befindet sich die Datei Microsoft.ReportingServices.Interfaces.dll im Unterverzeichnis \Reporting Services\ReportServer\bin für die installierte Instanz von Reporting Services. Der tatsächliche Pfad kann je nach Installation von Reporting Services variieren. Beispiel:
C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportManager\Bin
Führen Sie den folgenden Befehl aus, um das Übermittlungserweiterungsbeispiel Microsoft.Samples.ReportingServices.PrinterDeliverySample.dll zu erstellen.
csc /t:library /out:Microsoft.Samples.ReportingServices.PrinterDeliverySample.dll *.cs /r:Microsoft.ReportingServices.Interfaces.dll
So kompilieren Sie das Beispiel mit Visual Studio
Öffnen Sie die Beispiel-Projektmappendatei (PrinterDeliveryCS.sln oder PrinterDeliveryVB.sln) in Visual Studio.
Wählen Sie im Projektmappen-Explorer das PrinterDelivery-Projekt aus.
Klicken Sie im Menü Projekt auf Verweis hinzufügen.
Das Dialogfeld Verweis hinzufügen wird geöffnet.
Klicken Sie auf die Registerkarte .NET.
Klicken Sie auf Durchsuchen, und suchen Sie auf dem lokalen Laufwerk nach der Datei Microsoft.ReportingServices.Interfaces.dll. Standardmäßig befindet sich die Assembly im Verzeichnis C:\Programme\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer\bin. Klicken Sie anschließend auf OK.
Der ausgewählte Verweis wird dem Projekt hinzugefügt.
Klicken Sie im Menü Erstellen auf Projektmappe erstellen.
Erstellen des Beispiels
Nachdem Sie die vorherigen Schritte abgeschlossen haben, kann Microsoft.Samples.ReportingServices.PrinterDeliverySample.dll auf einem Berichtsserver und für den Berichts-Manager zur Übermittlung von Berichten bereitgestellt werden.
So stellen Sie das Beispiel bereit
Kopieren Sie Microsoft.Samples.ReportingServices.PrinterDeliverySample.dll auf den Berichtsserver. Standardmäßig werden Berichtsservererweiterungen im Verzeichnis C:\Programme\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer\bin gespeichert.
Nehmen Sie in der Datei RSReportServer.config den folgenden Eintrag unter <Delivery> vor.
<Extension Name="Printer Delivery Sample" Type="Microsoft.Samples.ReportingServices.PrinterDelivery.PrinterDeliveryProvider,Microsoft.Samples.ReportingServices.PrinterDeliverySample"> <Configuration> <Printers> <Printer>\\Server\MyNetworkPrinter1</Printer> <Printer>\\Server\MyNetworkPrinter2</Printer> <Printer>MyLocalPrinter</Printer> </Printers> </Configuration> </Extension>
Hinweis: Das <Printers>-Element wurde entwickelt, um eine feste Gruppe von Druckernamen für die Printer-Einstellung der Übermittlungserweiterung zur Verfügung zu stellen. Diese Liste wird schließlich mit der Liste der verfügbaren Drucker auf dem Berichtsserver verglichen, auf dem die Übermittlungserweiterung installiert wird. Falls ein ausgewählter Drucker nicht mit der Liste installierter Drucker auf dem Berichtsserver übereinstimmt, wird bei der Übermittlung ein Fehler mit der Information angezeigt, dass der angegebene Drucker zurzeit nicht auf dem Server installiert ist. Wenn das vom Berichtsserver verwendete Windows-Dienstkonto keine Berechtigung zum Drucken auf einen unter Windows installierten Drucker besitzt, wird der Drucker nicht in der Liste der verfügbaren Drucker geführt. Kopieren Sie die Assembly in den Berichts-Manager. Standardmäßig werden Erweiterungen für Berichts-Manager im Verzeichnis C:\Programme\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportManager\bin gespeichert.
Nehmen Sie in der Datei RSWebApplication.config den folgenden Eintrag <DeliveryUI> vor:
<Extension Name="Printer Delivery Sample" Type="Microsoft.Samples.ReportingServices.PrinterDelivery.PrinterDeliveryUIProvider,Microsoft.Samples.ReportingServices.PrinterDeliverySample"/>
Weitere Informationen zum Bereitstellen von Übermittlungserweiterungen finden Sie unter Deploying a Delivery Extension.
So konfigurieren Sie die Codezugriffssicherheit für das Beispiel
Öffnen Sie die Richtlinienkonfigurationsdatei für den Berichtsserver (rssrvpolicy.config). Standardmäßig wird die Datei im Verzeichnis C:\Programme\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer gespeichert.
Den Übermittlungserweiterungen muss die volle Vertrauenswürdigkeit erteilt werden. Fügen Sie daher folgende Codegruppe unter dem Element <CodeGroup … Zone="MyComputer" /> hinzu:
<CodeGroup class="UnionCodeGroup" version="1" PermissionSetName="FullTrust" Name="PrinterDeliveryCodeGroup" Description="Code group for my delivery extension"> <IMembershipCondition class="UrlMembershipCondition" version="1" Url="C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer\bin\Microsoft.Samples.ReportingServices.PrinterDeliverySample.dll" /> </CodeGroup>
Wenn Sie die Beispiel-Druckerübermittlungserweiterung im Berichts-Manager verwenden, wiederholen Sie die Schritte 1 und 2 mit der Richtlinienkonfigurationsdatei für den Berichts-Manager (rsmgrpolicy.config) und der folgenden Codegruppe:
<CodeGroup class="UnionCodeGroup" version="1" PermissionSetName="FullTrust" Name="PrinterDeliveryCodeGroup" Description="Code group for my delivery extension"> <IMembershipCondition class="UrlMembershipCondition" version="1" Url="C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportManager\bin\Microsoft.Samples.ReportingServices.PrinterDeliverySample.dll" /> </CodeGroup>
Standardmäßig wird die Datei rsmgrpolicy.config im Verzeichnis C:\Programme\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportManager gespeichert.
Setzen Sie nach dem Bereitstellen des Beispiels die Microsoft Internetinformationsdienste (Internet Information Services, IIS) mithilfe des Tools Iisreset.exe zurück, und starten Sie anschließend den Berichtsserver-Windows-Dienst neu.
Weitere Informationen zur .NET-Sicherheit und zu Reporting Services finden Sie unter Understanding Code Access Security in Reporting Services.
Siehe auch
Aufgaben
Kompilieren und Ausführen von Codebeispielen
Beispiele für SQL Server Reporting Services
Andere Ressourcen
Verwenden des RSClientPrint-Steuerelements in benutzerdefinierten Anwendungen
Erweiterungsbeispiele (Reporting Services)
Implementing a Delivery Extension
Hilfe und Informationen
Informationsquellen für SQL Server 2005
Änderungsverlauf
Version | Verlauf |
---|---|
05. Dezember 2005 |
|