Exemple d'extension de remise pour imprimante

Mis à jour : 5 décembre 2005

PrinterDeliverySample est un exemple d'extension de remise qui présente la fonction de remise de Reporting Services. Il s'agit d'une extension de remise simple pour une imprimante. Cet exemple utilise l'extension de rendu IMAGE, ainsi que l'espace de noms System.Drawing.Printing de Microsoft .NET Framework, pour remettre un rapport à une imprimante. Cet exemple n'est pas pris en charge sur des systèmes d'exploitation Itanium.

Les exemples SQL Server ne sont pas installés automatiquement lors de l'installation. Pour obtenir des instructions sur l'installation des exemples, consultez Installation des exemples.

ms160778.note(fr-fr,SQL.90).gifImportant :
Les exemples sont fournis uniquement à titre éducatif. Ils ne sont pas destinés à être utilisés dans un environnement de production et n'ont pas été testés à cet usage. Microsoft n'assure pas de support technique pour ces exemples. Les exemples d'applications et les assemblys ne doivent pas être utilisés avec votre base de données SQL Server de production ou votre serveur de rapports, ou y être connectés, sans l'autorisation de l'administrateur système.

Configuration requise

Pour utiliser l'exemple Printer Delivery, vous devez maîtriser Visual Studio et le langage de programmation Microsoft Visual C#. De plus, votre système doit présenter la configuration suivante :

  • Microsoft Visual Studio 2005.
  • Microsoft .NET Framework version 2.0.
  • Les exemples de Reporting Services.
  • Un serveur de rapports auquel vous avez l'autorisation d'accéder sur votre réseau, si vous avez l'intention d'utiliser l'exemple d'extension pour ajouter des fonctionnalités de traitement de données supplémentaires à votre serveur.

Emplacement

Cet exemple se trouve dans le sous-répertoire Extension Samples\PrinterDelivery Sample du répertoire d'exemples de Reporting Services.

Exemple :

C:\Program Files\Microsoft SQL Server\90\Samples\Reporting Services\Extension Samples\PrinterDelivery Sample

Génération de l'exemple

Utilisez la procédure suivante pour générer l'exemple.

Si vous n'avez pas encore créé un fichier de clé de nom fort, utilisez la procédure suivante pour générer ce fichier.

Pour générer un fichier de clé de nom fort

  1. Ouvrez une invite de commandes Microsoft Visual Studio 2005. Cliquez sur Démarrer, pointez sur Tous les programmes et sur Kit de développement Microsoft .NET Framework SDK 2.0, puis cliquez sur Invite de commandes du Kit de développement SDK.

    -- Ou --

    Ouvrez une invite de commandes Microsoft .NET Framework. Cliquez sur Démarrer, pointez sur Tous les programmes et sur Kit de développement Microsoft .NET Framework SDK 2.0, puis cliquez sur Invite de commandes du Kit de développement SDK.

  2. Utilisez la commande CD (changer de répertoire) pour remplacer le dossier actif dans la fenêtre de l'invite de commandes par le dossier dans lequel les exemples sont installés.

    ms160778.note(fr-fr,SQL.90).gifRemarque :
    Pour déterminer le dossier dans lequel se trouvent les exemples, cliquez sur le bouton Démarrer, pointez successivement sur Tous les programmes, sur Microsoft SQL Server 2005 et sur Documentation et didacticiels, puis cliquez sur le répertoire Samples. Si l'emplacement d'installation par défaut a été utilisé, les exemples se trouvent dans <lecteur_système>:\Program Files\Microsoft SQL Server\100\Samples.
  3. À l'invite de commandes, exécutez la commande suivante pour générer le fichier de clé :

    sn -k SampleKey.snk

    ms160778.note(fr-fr,SQL.90).gifImportant :
    Pour plus d'informations sur la paire de clés de nom fort, consultez l'article de sécurité concernant les noms forts et la sécurité dans .NET Framework, dans le Centre de développement .NET sur MSDN.

Pour compiler l'exemple à l'aide du Kit de développement .NET Framework (SDK)

  1. Copiez le fichier Microsoft.ReportingServices.Interfaces.dll du répertoire \bin de votre serveur de rapports dans votre dossier d'exemples. Par défaut, Microsoft.ReportingServices.Interfaces.dll se trouve dans le sous-répertoire \Reporting Services\ReportServer\bin du répertoire où est installée l'instance de Reporting Services. Le chemin d'accès exact est susceptible de varier sur votre installation de Reporting Services. Exemple :

    C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportManager\Bin
    
  2. Exécutez la commande suivante pour créer l'exemple d'extension de remise Microsoft.Samples.ReportingServices.PrinterDeliverySample.dll.

    csc /t:library /out:Microsoft.Samples.ReportingServices.PrinterDeliverySample.dll *.cs /r:Microsoft.ReportingServices.Interfaces.dll
    

Pour compiler l'exemple à l'aide de Visual Studio

  1. Ouvrez le fichier solution de l'exemple (PrinterDeliveryCS.sln ou PrinterDeliveryVB.sln) dans Visual Studio.

  2. Dans l'Explorateur de solutions, sélectionnez le projet PrinterDelivery.

  3. Dans le menu Projet, cliquez sur Ajouter une référence.

    La boîte de dialogue Ajouter une référence s'ouvre.

  4. Cliquez sur l'onglet .NET.

  5. Cliquez sur Parcourir, puis recherchez le fichier Microsoft.ReportingServices.Interfaces.dll sur votre lecteur local. Par défaut, l'assembly se trouve dans le répertoire C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer\bin. Cliquez ensuite sur OK.

    La référence sélectionnée est ajoutée à votre projet.

  6. Dans le menu Générer, cliquez sur Générer la solution.

Déploiement de l'exemple

Une fois les étapes précédentes terminées, vous pouvez déployer Microsoft.Samples.ReportingServices.PrinterDeliverySample.dll sur un serveur de rapports et dans le Gestionnaire de rapports afin qu'il soit utilisé pour la remise des rapports.

Pour déployer l'exemple

  1. Copiez Microsoft.Samples.ReportingServices.PrinterDeliverySample.dll sur le serveur de rapports. L'emplacement par défaut des extensions du serveur de rapports est le suivant : C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer\bin.

  2. Dans le fichier RSReportServer.config, ajoutez l'entrée suivante sous l'élément <Delivery>.

    <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>
    
    ms160778.note(fr-fr,SQL.90).gifRemarque :
    L'élément <Printers> permet de disposer d'un ensemble fixe de noms d'imprimantes pour le paramètre Printer d'extension de remise. Cette liste est ensuite vérifiée par rapport à la liste connue des imprimantes disponibles sur le serveur de rapports sur lequel l'extension de remise est installée. Si une imprimante sélectionnée n'a pas de correspondance dans la liste connue des imprimantes installées sur le serveur de rapports, la remise échoue et le message « L'imprimante {0} n'est actuellement pas installée sur le serveur. » s'affiche. Si le compte de service Windows utilisé par le serveur de rapports n'a pas l'autorisation d'utiliser une imprimante installée dans Windows, cette imprimante ne figurera pas dans la liste d'imprimantes disponibles.
  3. Copiez l'assembly sur le Gestionnaire de rapports. L'emplacement par défaut des extensions du Gestionnaire de rapports est le suivant : C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportManager\bin.

  4. Dans le fichier RSWebApplication.config, ajoutez l'entrée suivante sous l'élément <DeliveryUI> :

    <Extension Name="Printer Delivery Sample" Type="Microsoft.Samples.ReportingServices.PrinterDelivery.PrinterDeliveryUIProvider,Microsoft.Samples.ReportingServices.PrinterDeliverySample"/>
    

Pour plus d'informations sur le déploiement des extensions de remise, consultez Deploying a Delivery Extension.

Pour configurer la sécurité de l'accès au code de l'exemple

  1. Ouvrez le fichier de configuration de la stratégie du serveur de rapports (rssrvpolicy.config). L'emplacement par défaut de ce fichier est C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer.

  2. Une confiance totale doit être accordée aux extensions de remise. Pour ce faire, ajoutez les informations de groupe de codes suivantes sous l'élément <CodeGroup … Zone="MyComputer" /> :

    <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>
    
  3. Si vous utilisez l'exemple d'extension de remise pour imprimante dans le Gestionnaire de rapports, répétez les étapes 1 et 2 en utilisant le fichier de configuration de la stratégie du Gestionnaire de rapports (rsmgrpolicy.config) et le groupe de codes suivant :

    <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>
    

    L'emplacement par défaut du fichier rsmgrpolicy.config est C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportManager.

  4. Après avoir déployé l'exemple, réinitialisez Microsoft Internet Information Services (IIS) à l'aide de l'outil de réinitialisation Iisreset.exe, puis redémarrez le service Windows Reporting Services.

    Pour plus d'informations sur la sécurité .NET et Reporting Services, consultez Understanding Code Access Security in Reporting Services.

Voir aussi

Tâches

Compilation et exécution d'exemples de code
Exemples SQL Server Reporting Services

Autres ressources

Utilisation du contrôle RSClientPrint dans les applications personnalisées
Exemples d'extensions (Reporting Services)
Implementing a Delivery Extension

Aide et Informations

Assistance sur SQL Server 2005

Historique des modifications

Version Historique

5 décembre 2005

Contenu modifié :
  • Instructions modifiées concernant la génération d'un fichier de clé, notamment le nom et l'emplacement du fichier de clé.