次の方法で共有


EmailLogProvider サンプル

新規 : 2006 年 4 月 14 日

EmailLogProvider サンプルでは、カスタム ログ プロバイダである電子メール ログ プロバイダの作成方法を示します。電子メール ログ プロバイダは、ログ出力をプレーン テキストまたは HTML 形式の電子メール メッセージとして送信します。このサンプルは、Itanium ベースのオペレーティング システムではサポートされていません。

カスタム ログ プロバイダの作成方法の詳細については、「カスタム ログ プロバイダの作成」を参照してください。Integration Services でのログ プロバイダの使用に関する一般的な情報については、「Integration Services ログ プロバイダ」を参照してください。

カスタム ログ プロバイダでは、SMTP サーバー、宛先アドレス、差出人アドレス、およびメッセージがテキスト形式であるか HTML 形式であるかを示す各文字列をセミコロンで区切って指定します。ログ プロバイダはログに記録されたイベントをキャッシュし、パッケージの実行が完了すると、キャッシュされた出力をメール メッセージの本文に送信します。最後の 2 つの標準列 (dataCode および dataBytes) は、正しく表示されないバイナリ データを含む場合があるため無視されます。このサンプルでは、再利用を容易にするために、独立した TextLogWriter クラスにテキスト形式のログ コードをカプセル化し、独立した HtmlLogWriter クラスに HTML 形式のログ コードをカプセル化します。これらのヘルパ クラスには、OpenLog<format>、Log<format>、および CloseLog<format> の各サブルーチンがそれぞれ用意されています。これらのサブルーチンは、OpenLogLog、および CloseLog からそれぞれ呼び出されます。

このコード サンプルでは次の機能が実装されます。

  • LogProviderBase クラスのオーバーライド
  • 開発者によるカスタム永続コードの記述を不要とする既定の永続性サポート
ms365179.note(ja-jp,SQL.90).gif重要 :
サンプルは、学習に使用することのみを目的に提供されています。これらは、運用環境での使用を目的としたものではなく、運用環境でのテストも実施されていません。Microsoft からは、これらのサンプルについてのテクニカル サポートは提供されません。

サンプルの実行

コード サンプルの場所、ビルド方法、およびインストール方法を確認済みの場合は、「サンプルのテスト」に進み、コード サンプルの構成方法と実行方法を確認してください。

前提条件

このサンプルを使用するには、次のコンポーネントがインストールされている必要があります。

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

このサンプルでは、メールの送受信に使用できる SMTP サーバーも必要です。

場所

サンプル コードを既定の場所にインストールした場合は、次のディレクトリに配置されています。

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

サンプル コードの C# ソリューションは CS ディレクトリに、Visual Basic ソリューションは VB ディレクトリにあります。

サンプルをインストールするために必要な 2 つの手順の詳細については、「サンプルのインストール」を参照してください。SQL Server 2005 のオリジナル リリース後にリリースされた新しいサンプルを含む、サンプルの最新バージョンを入手するには、「SQL Server 2005 Samples and Sample Databases (April 2006)」を参照してください。

サンプルのビルド

まだ Samples フォルダに厳密な名前のキー ファイルを生成していない場合は、次の手順に従ってこのキー ファイルを生成します。サンプル プロジェクトは、ビルド時にこのキー ファイルを使用して、[プロジェクトのプロパティ] ダイアログ ボックスの [署名] タブでアセンブリに署名するように構成されています。

厳密な名前のキー ファイルを生成するには

  1. Microsoft Visual Studio 2005 コマンド プロンプトを開くには、[スタート] ボタンをクリックし、[すべてのプログラム][Microsoft Visual Studio 2005][Visual Studio Tools] の順にポイントして、[Visual Studio 2005 コマンド プロンプト] をクリックします。

    または

    Microsoft .NET Framework コマンド プロンプトを開くには、[スタート] ボタンをクリックし、[すべてのプログラム][Microsoft .NET Framework SDK v2.0] の順にポイントして、[SDK コマンド プロンプト] をクリックします。

  2. コマンド プロンプトでディレクトリ変更 (CD) コマンドを使用して、コマンド プロンプトの現在のフォルダを Samples フォルダに変更します。このフォルダに作成するキー ファイルは、すべての SQL Server 2005 サンプル コードで使用されます。

    ms365179.note(ja-jp,SQL.90).gifメモ :
    サンプルが配置されているフォルダを調べるには、[スタート] ボタンをクリックし、[すべてのプログラム][Microsoft SQL Server 2005][マニュアルとチュートリアル] の順にポイントして、[サンプル ディレクトリ] をクリックします。既定のインストール場所を使用している場合、サンプルは <system_drive>:\Program Files\Microsoft SQL Server\90\Samples にあります。
  3. コマンド プロンプトで、次のコマンドを実行してキー ファイルを生成します。

    sn -k SampleKey.snk
    
    ms365179.note(ja-jp,SQL.90).gif重要 :
    厳密な名前のキー ペアの詳細については、MSDN の .NET Development Center にある「Security Briefs: Strong Names and Security in the .NET Framework」を参照してください。

Microsoft Visual Studio 2005 でサンプルをビルドするには

  1. [ファイル] メニューの [開く] をポイントし、[プロジェクト] をクリックして、EmailLogProviderVB.sln または EmailLogProviderCS.sln を開きます。

  2. [ビルド] メニューの [ソリューションのビルド] をクリックして、ソリューションをビルドします。

サンプルのインストール

このサンプルは、Visual Basic と C# の両方で提供されています。サンプルのバージョンごとにアセンブリを区別するために、出力アセンブリ名には "CS" または "VB" が追加されます。コンポーネントが正常にビルドされたら、次の手順を実行して、このコンポーネントを接続マネージャとして Business Intelligence Development Studio 内のパッケージに追加します。

コンポーネントを Connections フォルダにコピーするには

  1. Windows エクスプローラ、またはファイル システムでの作業に適切なアプリケーションを開きます。

  2. アセンブリ (EmailLogProviderCS.dll または EmailLogProviderVB.dll) を %system%\Program Files\Microsoft SQL Server\90\DTS にある LogProviders フォルダにコピーします。

アセンブリをドラッグしてコンポーネントをグローバル アセンブリ キャッシュ (GAC) にインストールするには

  1. Windows エクスプローラ、またはファイル システムでの作業に適切なアプリケーションを開きます。

  2. アセンブリを LogProviders フォルダからグローバル アセンブリ キャッシュ (GAC) があるフォルダ (%system%\assembly) にドラッグします。

gacutil.exe を使用してコンポーネントをグローバル アセンブリ キャッシュ (GAC) にインストールするには

  1. コマンド プロンプト ウィンドウを開きます。

  2. 次のコマンドを入力して、C# バージョンのコンポーネントを 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"
    

    または

    次のコマンドを入力して、Visual Basic バージョンのコンポーネントを 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"
    

サンプルのテスト

パッケージでカスタム ログ プロバイダをテストできるようになりました。

パッケージ内のサンプルのログ プロバイダを使用するには

  1. 使用可能な SMTP サーバーの名前を確認します。

  2. [SSIS] メニューから [ログ記録] を選択して、Custom log provider for mail messages (CS) または Custom log provider for mail messages (VB) を追加します。テキスト出力形式と HTML 出力形式の両方をテストできるように、ログ プロバイダのインスタンスを 2 つ構成することをお勧めします。

  3. SMTP サーバー、宛先アドレス、差出人アドレス、およびメッセージがテキスト形式であるか HTML 形式であるかを示す 4 つの文字列をセミコロンで区切って [構成] 列に入力します。次に例を示します。

    smtpserver;joe@northwind.com;joe@northwind.com;html
    
  4. パッケージとそのコンポーネントにより、イベントのログがカスタム ログ プロバイダに記録されるように、必要に応じてログ記録の構成を行います。

  5. パッケージを実行し、ログ出力を含むメール メッセージをメール プログラムで確認します。