Share via


Esempio EmailLogProvider

Data creazione: 14 aprile 2006

L'esempio EmailLogProvider illustra come creare un provider di log personalizzato, Email Log Provider, che consente di inviare l'output della registrazione come messaggio di posta elettronica in formato testo normale o HTML. Questo esempio non è supportato nei sistemi operativi basati su processori Itanium.

Per ulteriori informazioni sulla creazione di un provider di log personalizzato, vedere Creating a Custom Log Provider. Per informazioni generali sull'utilizzo dei provider di log in Integration Services, vedere Provider di log di Integration Services.

Il provider di log personalizzato richiede un elenco delimitato da punti e virgola di stringhe che specificano il server SMTP, l'indirizzo del destinatario, l'indirizzo del mittente e il formato da utilizzare per il messaggio, ovvero testo normale o HTML. Gli eventi registrati vengono inseriti nella cache dal provider di log, il quale, al termine dell'esecuzione del pacchetto, invia l'output inserito nella cache nel corpo di un messaggio di posta elettronica. Le due colonne finali standard, ovvero dataCode e dataBytes, vengono ignorate in quanto possono contenere dati binari che non è possibile visualizzare correttamente. L'esempio incapsula il codice di registrazione in formato testo e quello in formato HTML rispettivamente in una classe TextLogWriter e in una classe HtmlLogWriter separate per consentirne il riutilizzo. Ognuna di queste classi helper include le subroutine OpenLog<formato>, Log<formato> e CloseLog<formato>, le quali vengono chiamate rispettivamente da OpenLog, Log e CloseLog.

Con questo esempio di codice vengono implementate le funzionalità seguenti:

  • Overriding della classe LogProviderBase.
  • Supporto predefinito della persistenza, che non richiede la scrittura di codice di persistenza personalizzato da parte dello sviluppatore.
ms365179.note(it-it,SQL.90).gifImportante:
Gli esempi vengono offerti esclusivamente a scopo didattico. Non sono progettati per l'utilizzo in un ambiente di produzione e non sono stati testati in un ambiente di produzione. Microsoft non offre servizi di supporto tecnico per questi esempi.

Esecuzione dell'esempio

Se non sono necessarie informazioni sulle procedure per l'individuazione, la generazione e l'installazione degli esempi di codice, è possibile passare direttamente alla sezione Test dell'esempio per informazioni sulla configurazione e l'esecuzione dell'esempio di codice.

Prerequisiti

Per utilizzare questo esempio è necessario che i componenti seguenti siano installati.

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

Per utilizzare le funzionalità di posta elettronica dell'esempio, è inoltre necessario disporre di un server SMTP.

Percorso

Se l'esempio di codice è stato installato nel percorso predefinito, l'esempio si trova nella directory seguente:

C:\Programmi\Microsoft SQL Server\100\Samples\Integration Services\\Programming Samples\Control Flow\EmailLogProvider Sample

La soluzione C# dell'esempio di codice si trova nella directory CS, mentre la soluzione Visual Basic si trova nella directory VB.

Per ulteriori informazioni sul processo in due fasi necessario per l'installazione degli esempi, vedere Installazione degli esempi. Per ottenere la versione più recente degli esempi, inclusi nuovi esempi resi disponibili dopo il rilascio di SQL Server 2005, vedere Esempi e database di esempio di SQL Server 2005 (aprile 2006).

Generazione dell'esempio

Se non è stato ancora generato un file di chiave con nome sicuro nella cartella Samples, eseguire la procedura seguente per generarlo. Nella scheda Firma della finestra di dialogo Proprietà progetto sono configurati progetti di esempio per la firma di assembly durante la generazione con questo file di chiave.

Per generare un file di chiave con nome sicuro

  1. Per aprire il prompt dei comandi di Microsoft Visual Studio 2005, fare clic sul pulsante Start, scegliere Tutti i programmi, Microsoft Visual Studio 2005, Visual Studio Tools e quindi fare clic su Prompt dei comandi di Visual Studio 2005.

    -oppure-

    Per aprire il prompt dei comandi di Microsoft .NET Framework, fare clic sul pulsante Start, scegliere Tutti i programmi, Microsoft .NET Framework SDK v2.0 e quindi SDK Command Prompt.

  2. Al prompt dei comandi passare dalla directory corrente alla cartella Samples mediante il comando CD (Change Directory). Il file di chiave creato in questa cartella verrà utilizzato da tutti gli esempi di codice di SQL Server 2005.

    [!NOTA] Per determinare la cartella in cui si trovano gli esempi, fare clic sul pulsante Start, scegliere Tutti i programmi, Microsoft SQL Server 2005, Documentazione ed esercitazioni e quindi Directory esempi. Se è stato utilizzato il percorso di installazione predefinito, gli esempi si troveranno in <system_drive>:\Programmi\Microsoft SQL Server\90\Samples.

  3. Al prompt dei comandi digitare il comando seguente per generare il file di chiave:

    sn -k SampleKey.snk
    
    ms365179.note(it-it,SQL.90).gifImportante:
    Per ulteriori informazioni sulla coppia di chiavi con nome sicuro, vedere l'argomento relativo ai nomi sicuri e alla protezione in .NET Framework nel centro per sviluppatori di .NET su MSDN (informazioni in lingua inglese).

Per generare l'esempio in Microsoft Visual Studio 2005

  1. Scegliere Progetto dal menu File | Apri e aprire EmailLogProviderVB.sln o EmailLogProviderCS.sln.

  2. Scegliere Genera soluzione dal menu Genera per generare la soluzione.

Installazione dell'esempio

Questo esempio è disponibile in Visual Basic e C#. Per distinguere gli assembly delle due versioni dell'esempio, al nome degli assembly di output sono stati aggiunti i suffissi CS e VB. Dopo aver generato il componente, eseguire la procedura seguente per aggiungerlo come gestione connessione in un pacchetto di Business Intelligence Development Studio.

Per copiare il componente nella cartella Connessioni

  1. Aprire Esplora risorse o l'applicazione desiderata per le operazioni nel file system.

  2. Copiare l'assembly (EmailLogProviderCS.dll o EmailLogProviderVB.dll) nella cartella LogProviders in %system%\Programmi\Microsoft SQL Server\90\DTS.

Per installare il componente nella cache di assembly globale (CAG) trascinando gli assembly

  1. Aprire Esplora risorse o l'applicazione desiderata per le operazioni nel file system.

  2. Trascinare l'assembly dalla cartella LogProviders nella cartella in cui si trova la cache di assembly globale (CAG), nel percorso %system%\assembly.

Per installare il componente nella cache di assembly globale (CAG) tramite gacutil.exe

  1. Aprire la finestra del prompt dei comandi.

  2. Digitare i comandi seguenti per installare la versione C# del componente nella cache di assembly globale (CAG):

    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"
    

    -oppure-

    Digitare i comandi seguenti per installare la versione Visual Basic del componente nella cache di assembly globale (CAG):

    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"
    

Test dell'esempio

È ora possibile testare il provider di log personalizzato in un pacchetto.

Per utilizzare il provider di log di esempio in un pacchetto

  1. Specificare il nome di un server SMTP disponibile.

  2. Scegliere Registrazione dal menu SSIS e aggiungere il provider Custom log provider for mail messages (CS) oppure Custom log provider for mail messages (VB). È eventualmente possibile configurare due istanze del provider di log in modo da testare entrambi i formati di output, ovvero testo normale e HTML.

  3. Nella colonna Configurazione immettere un elenco delimitato da punti e virgola di quattro stringhe che specificano rispettivamente il server SMTP, l'indirizzo del destinatario, l'indirizzo del mittente e il formato da utilizzare, ovvero testo normale o HTML, come illustrato nell'esempio seguente:

    smtpserver;joe@northwind.com;joe@northwind.com;html
    
  4. Configurare la registrazione in modo appropriato affinché gli eventi del pacchetto e dei relativi componenti vengano registrati nel provider di log personalizzato.

  5. Eseguire il pacchetto e quindi visualizzare i messaggi contenenti l'output della registrazione nel programma di posta elettronica in uso.