Ejemplo de EmailLogProvider

Nuevo: 14 de abril de 2006

En el ejemplo de EmailLogProvider se muestra cómo crear un proveedor de registro personalizado, el Proveedor de registro de correo electrónico, que envía la salida del registro como un mensaje de correo electrónico con texto simple o en formato HTML. Este ejemplo no es compatible con los sistemas operativos basados en Itanium.

Para obtener más información acerca de cómo crear un proveedor de registro personalizado, vea Creating a Custom Log Provider. Para obtener información general acerca del uso de proveedores de registro en Integration Services, vea Proveedores de registro de Integration Services.

El proveedor de registro personalizado espera que se suministre una lista de cadenas separadas por punto y coma que especifiquen el servidor SMTP, la dirección Para, la dirección De y si el mensaje tiene formato de texto o HTML. El proveedor de registro almacena en caché los eventos registrados y, cuando el paquete finaliza su ejecución, envía la salida almacenada en caché en el cuerpo de un mensaje de correo. No tiene en cuenta las dos últimas columnas estándar (dataCode y dataBytes), que pueden contener datos binarios que no se muestran correctamente. En el ejemplo se encapsula el código de registro de texto en una clase TextLogWriter independiente y el código de registro HTML en una clase HtmlLogWriter independiente, para simplificar su reutilización. Cada una de estas clases auxiliares tiene subrutinas OpenLog<formato>, Log<formato> y CloseLog<formato>, que se llaman desde OpenLog, Log y CloseLog, respectivamente.

Este ejemplo de código implementa la siguiente funcionalidad:

  • Reemplazo de la clase LogProviderBase.
  • Compatibilidad con la persistencia predeterminada, por lo que el programador no tiene que escribir código de persistencia personalizado.
ms365179.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 ningún entorno de este tipo. Microsoft no ofrece soporte técnico para estos ejemplos.

Ejecutar el ejemplo

Si ya sabe cómo ubicar, generar e instalar ejemplos de código, puede pasar directamente a la sección Probar el ejemplo y leer acerca de la configuración y ejecución del ejemplo de código.

Requisitos previos

Este ejemplo requiere que estén instalados los siguientes componentes.

  • Microsoft Visual Studio 2005
  • Microsoft SQL Server 2005 Integration Services

El ejemplo también requiere un servidor SMTP disponible para la funcionalidad de correo.

Ubicación

Si el ejemplo de código se ha instalado en la ubicación predeterminada, el ejemplo se encuentra en el siguiente directorio:

C:\Archivos de programa\Microsoft SQL Server\100\Ejemplos\Integration Services\\Programming Samples\Control Flow\EmailLogProvider Sample

La solución C# del ejemplo de código se encuentra en el directorio CS, mientras que la solución Visual Basic se encuentra en el directorio VB.

Para obtener información acerca del proceso de dos pasos necesario para instalar los ejemplos, vea Instalar ejemplos. Para obtener la última versión de los ejemplos, incluidos aquéllos comercializados tras la versión comercial original de SQL Server 2005, vea el artículo acerca de ejemplos y bases de datos de ejemplo de SQL Server 2005 publicado en abril de 2006.

Generar el ejemplo

Si aún no ha generado un archivo de clave de nombre seguro en la carpeta Samples, siga este procedimiento para generarlo. Los proyectos de ejemplo se configuran en la ficha Firma del cuadro de diálogo Propiedades del proyecto para firmar los ensamblados en tiempo de generación con este archivo de clave.

Para generar un archivo de clave de nombre seguro

  1. Para abrir un símbolo del sistema de Microsoft Visual Studio 2005, haga clic en Inicio, seleccione Todos los programas, seleccione Microsoft Visual Studio 2005, Visual Studio Tools y, después, haga clic en Símbolo del sistema de Visual Studio 2005.

    O bien

    Para abrir un símbolo del sistema de Microsoft .NET Framework, haga clic en Inicio, seleccione Todos los programas, Microsoft .NET Framework SDK v2.0 y haga clic en Símbolo del sistema de SDK.

  2. En el símbolo del sistema, use el comando de cambio de directorio (CD) para cambiar la carpeta actual del símbolo del sistema a la carpeta Samples. El archivo de clave que cree en esta carpeta se usará en todos los ejemplos de código de SQL Server 2005.

    [!NOTA] Para determinar la carpeta donde se encuentran los ejemplos, haga clic en Inicio, seleccione Todos los programas, Microsoft SQL Server 2005, 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 encuentran en <unidadDelSistema>:\Archivos de programa\Microsoft SQL Server\90\Samples.

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

    sn -k SampleKey.snk
    
    ms365179.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 generar el ejemplo en Microsoft Visual Studio 2005

  1. En el menú Archivo | Abrir, haga clic en Proyecto y abra EmailLogProviderVB.sln o EmailLogProviderCS.sln.

  2. En el menú Generar, haga clic en Generar solución para generar la solución.

Instalar el ejemplo

Este ejemplo se proporciona en Visual Basic y C#. Para distinguir los ensamblados para cada versión del ejemplo, el nombre del ensamblado de salida lleva anexado CS o VB. Una vez que haya generado correctamente el componente, siga los pasos que se indican a continuación para agregarlo como administrador de conexión a un paquete en Business Intelligence Development Studio.

Para copiar el componente en la carpeta Connections

  1. Abra el Explorador de Windows o la aplicación que prefiera para trabajar en el sistema de archivos.

  2. Copie el ensamblado (EmailLogProviderCS.dll o EmailLogProviderVB.dll) en la carpeta LogProviders ubicada en %system%\Archivos de programa\Microsoft SQL Server\90\DTS.

Para instalar el componente en la caché de ensamblados global (GAC) al arrastrar los ensamblados

  1. Abra el Explorador de Windows o la aplicación que prefiera para trabajar en el sistema de archivos.

  2. Arrastre el ensamblado desde la carpeta LogProviders hasta carpeta donde se encuentra la caché de ensamblados global (GAC), en %system%\assembly.

Para instalar el componente en la caché de ensamblados global (GAC) mediante gacutil.exe

  1. Abra una ventana del símbolo del sistema.

  2. Escriba los siguientes comandos para instalar la versión C# del componente en la GAC:

    gacutil.exe -iF " C:\Program Files\Microsoft SQL Server\90\Samples\Integration Services\Programming Samples\Control Flow\EmailLogProvider Sample\CS\EmailLogProviderCS\bin\Debug\EmailLogProviderCS.dll"
    

    O bien

    Escriba los siguientes comandos para instalar la versión Visual Basic del componente en la GAC:

    gacutil.exe -iF " C:\Program Files\Microsoft SQL Server\90\Samples\Integration Services\Programming Samples\Control Flow\EmailLogProvider Sample\VB\EmailLogProviderVB\bin\Debug\EmailLogProviderVB.dll"
    

Probar el ejemplo

Ahora puede probar el proveedor de registro personalizado en un paquete.

Para usar el proveedor de registro de ejemplo en un paquete

  1. Confirme el nombre de un servidor SMTP disponible.

  2. En el menú SSIS, seleccione Registro y agregue el proveedor de registro personalizado para mensajes de correo (CS) o el proveedor de registro personalizado para mensajes de correo (VB). Puede configurar dos instancias del proveedor de registro para comprobar los formatos de salida de texto y HTML.

  3. En la columna Configuración, suministre una lista con cuatro cadenas separadas por punto y coma que especifiquen el servidor SMTP, la dirección Para, la dirección De y si el mensaje tiene formato de texto o HTML. Por ejemplo:

    smtpserver;joe@northwind.com;joe@northwind.com;html
    
  4. Configure el registro según corresponda para que el paquete y sus componentes registren sus eventos en el proveedor de registro personalizado.

  5. Ejecute el paquete y, después, vea los mensajes de correo que contienen la salida de registro en su programa de correo.