Ejemplo de extensión Printer Delivery

Actualizado: 5 de diciembre de 2005

El ejemplo Printer Delivery es una extensión de entrega de ejemplo que ofrece una introducción a la entrega de Reporting Services. El ejemplo es una sencilla extensión de entrega para una impresora. Utiliza la extensión de representación IMAGE, junto con el espacio de nombres System.Drawing.Printing de Microsoft .NET Framework, para entregar un informe en una impresora. Este ejemplo no es compatible con los sistemas operativos basados en Itanium.

Los ejemplos de SQL Server no se instalan de forma automática durante la instalación. Para obtener instrucciones acerca de la instalación de los ejemplos, vea el artículo sobre la instalación de los ejemplos.

ms160778.note(es-es,SQL.90).gifImportante:
Los ejemplos se proporcionan exclusivamente con fines formativos. No se han diseñado para utilizarse en un entorno de producción y no se han probado en este tipo de entorno. Microsoft no ofrece soporte técnico para estos ejemplos. Las aplicaciones y los ensamblados de ejemplo no se deben conectar ni usar con la base de datos de SQL Server de producción ni con el servidor de informes sin el permiso del administrador del sistema.

Requisitos

Para utilizar el ejemplo Printer Delivery, debe estar familiarizado con Visual Studio y Microsoft Visual C#. Además, el sistema debe cumplir los requisitos siguientes:

  • Microsoft Visual Studio 2005.
  • Microsoft .NET Framework versión 2.0.
  • Los ejemplos de Reporting Services.
  • Un servidor de informes para el que disponga de permisos de acceso en la red, si piensa utilizar la extensión de ejemplo para agregar funcionalidad de procesamiento de datos adicional al servidor.

Ubicación

Este ejemplo se encuentra en el subdirectorio Extension Samples\PrinterDelivery Sample del directorio de ejemplos de Reporting Services.

Por ejemplo:

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

Generar el ejemplo

Siga los pasos que se indican a continuación para generar el ejemplo.

Si aún no ha creado un archivo de clave de nombre seguro, genere este archivo mediante las siguientes instrucciones.

Para generar un archivo de clave de nombre seguro

  1. Abra un símbolo del sistema de Microsoft Visual Studio 2005. Haga clic en Inicio, seleccione Todos los programas, Microsoft .NET Framework SDK 2.0 y, a continuación, haga clic en Símbolo del sistema de SDK.

    -- O bien --

    Abra un símbolo del sistema de Microsoft .NET Framework. Haga clic en Inicio, seleccione Todos los programas, Microsoft .NET Framework SDK 2.0 y, a continuación, haga clic en Símbolo del sistema de SDK.

  2. Use el comando de cambio de directorio (CD) para cambiar el directorio actual a la carpeta donde están instalados los ejemplos.

    [!NOTA] para determinar la carpeta donde se encuentran los ejemplos, haga clic en el botón Inicio, seleccione Todos los programas, Microsoft SQL Server, Documentación y tutoriales y, a continuación, haga clic en el directorio Ejemplos. Si se usó la ubicación de instalación predeterminada, los ejemplos se encontrarán en <unidadDeSistema>:\Archivos de programa\Microsoft SQL Server\100\Ejemplos.

  3. En el símbolo del sistema, ejecute el comando siguiente para generar el archivo de clave:

    sn -k SampleKey.snk

    ms160778.note(es-es,SQL.90).gifImportante:
    Para obtener más información acerca del par de claves de nombre seguro, vea el apartado sobre informes de seguridad de nombres seguros y seguridad en .NET Framework en el centro de desarrollo de .NET de MSDN.

Para compilar el ejemplo mediante .NET Framework SDK

  1. Copie el archivo Microsoft.ReportingServices.Interfaces.dll del directorio \bin del servidor de informes en la carpeta de ejemplos. De manera predeterminada, el archivo Microsoft.ReportingServices.Interfaces.dll se encuentra en el subdirectorio \Reporting Services\ReportServer\bin para la instancia instalada de Reporting Services. La ruta exacta puede variar en su instalación de Reporting Services. Por ejemplo:

    C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportManager\Bin
    
  2. Escriba el comando siguiente para crear la extensión de entrega de ejemplo Microsoft.Samples.ReportingServices.PrinterDeliverySample.dll.

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

Para compilar el ejemplo mediante Visual Studio

  1. Abra el archivo de solución de ejemplo (PrinterDeliveryCS.sln o PrinterDeliveryVB.sln) en Visual Studio.

  2. En el Explorador de soluciones, seleccione el proyecto PrinterDelivery.

  3. En el menú Proyecto, haga clic en Agregar referencia.

    Se abre el cuadro de diálogo Agregar referencias.

  4. Haga clic en la ficha .NET.

  5. Haga clic en Examinar y busque el archivo Microsoft.ReportingServices.Interfaces.dll en la unidad de disco local. De forma predeterminada, el ensamblado se encuentra en C:\Archivos de programa\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer\bin. A continuación, haga clic en Aceptar.

    La referencia seleccionada se agrega al proyecto.

  6. En el menú Generar, haga clic en Generar solución.

Implementar el ejemplo

Una vez que haya realizado los pasos anteriores, Microsoft.Samples.ReportingServices.PrinterDeliverySample.dll se puede implementar en el servidor de informes y el Administrador de informes para su utilización en la entrega de informes.

Para implementar el ejemplo

  1. Copie Microsoft.Samples.ReportingServices.PrinterDeliverySample.dll en el servidor de informes. La ubicación predeterminada de las extensiones del servidor de informes es C:\Archivos de programa\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer\bin.

  2. En el archivo RSReportServer.config, escriba lo siguiente en el elemento <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>
    

    [!NOTA] El elemento <Printers> se ha diseñado para permitir que un conjunto fijo de nombres de impresoras esté disponible para la opción Printer de la extensión de entrega. En última instancia, esta lista se compara con la lista conocida de impresoras disponibles en el servidor de informes en que se instala la extensión de entrega. Si una impresora seleccionada no coincide con la lista conocida de impresoras instaladas en el servidor de informes, se produce un error de entrega, con un mensaje de error similar al siguiente "La impresora {0} no está instalada en el servidor actualmente". Si la cuenta del servicio de Windows usada por el servidor de informes no tiene permiso para imprimir en una impresora instalada en Windows, la impresora no se incluirá en la lista de impresoras disponibles

  3. Copie el ensamblado en el Administrador de informes. La ubicación predeterminada de las extensiones del Administrador de informes es C:\Archivos de programa\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportManager\bin.

  4. En el archivo RSWebApplication.config, escriba la siguiente entrada en el elemento <DeliveryUI>:

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

Para obtener más información acerca de cómo implementar extensiones, vea Deploying a Delivery Extension.

Para configurar la seguridad de acceso al código para el ejemplo

  1. Abra el archivo de configuración de directivas del servidor de informes (rssrvpolicy.config). La ubicación predeterminada de este archivo es C:\Archivos de programa\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer.

  2. Se debe conceder plena confianza a las extensiones de entrega. Para ello, agregue la información de grupo de código siguiente en el elemento <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 va a utilizar el ejemplo de extensión de entrega en impresora en el Administrador de informes, repita los pasos 1 y 2 utilizando el archivo de configuración de directivas del Administrador de informes (rsmgrpolicy.config) y el siguiente grupo de código:

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

    La ubicación predeterminada del archivo rsmgrpolicy.config es C:\Archivos de programa\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportManager.

  4. Cuando haya terminado de implementar el ejemplo, restablezca los Servicios de Internet Information Server (IIS) mediante la herramienta de restablecimiento Iisreset.exe y, a continuación, reinicie el servicio Reporting Services de Windows.

    Para obtener más información acerca de la seguridad de .NET y Reporting Services, vea Understanding Code Access Security in Reporting Services.

Vea también

Tareas

Compilar y ejecutar ejemplos de código
Ejemplos de SQL Server Reporting Services

Otros recursos

Usar el control RSClientPrint en aplicaciones personalizadas
Ejemplos de extensiones (Reporting Services)
Implementing a Delivery Extension

Ayuda e información

Obtener ayuda sobre SQL Server 2005

Historial de cambios

Versión Historial

5 de diciembre de 2005

Contenido modificado:
  • Se cambiaron las instrucciones para generar un archivo de clave, incluidos el nombre y la ubicación del archivo.