3

SSIS 用のカスタム ログ プロバイダーを作成しようとしていますが、dll を展開するときに、プロバイダーの一覧に表示されません。

SSIS のバージョンは 11.0.2100.60 です。.NET Framework 2.0 と 3.5 を試しました。GAC にインストールし、以下の両方のフォルダーにもコピーしました。

C:\Program Files\Microsoft SQL Server\110\DTS\LogProviders
C:\Program Files (x86)\Microsoft SQL Server\110\DTS\LogProviders

その後、Visual Studio [Shell] を開き、簡単な SSIS パッケージを作成しました。メニューを開くSSIS\Logging...と、新しいカスタム ログ プロバイダーが表示されません。

私が現在使用しているコードは、Microsoft が Codeplex から提供するサンプル パッケージ ( HTMLLogProviderCS ) であり、うまくいきません。

私が何かを逃した可能性のあるアイデアはありますか?

4

1 に答える 1

10

ここでは、Visual Studio 2010 を使用して .NET 4.0 フレームワークでカスタム ログ プロバイダーを作成するために実行した手順を示します。この手順では、プロバイダーが SQL Server Data Tools 2010 でどのように表示されたかも示しています。

まず、Microsoft SQL Server Integrations Services Designer バージョン 11.0.2100.60 を使用しています。

SSIS デザイナーのバージョン

クラス ライブラリ プロジェクトを作成します。私は C# と .NET Framework 4 を選択し、プロジェクトに CS40.CustomLogProvider という名前を付けました。

クラス ライブラリの作成

クラスファイル名を say に変更しますSSISCustomLogProvider。[参照] を右クリックし、パスに移動しC:\Program Files\Microsoft SQL Server\110\SDK\Assembliesて DLL を追加します。Microsoft.SQLServer.ManagedDTS.dll

次のコードをクラスに貼り付けます。

using Microsoft.SqlServer.Dts.Runtime;

namespace CS40.CustomLogProvider
{
    [DtsLogProvider(
        DisplayName = "Custom log provider created by Siva",
        Description = "A simple log provider.",
        LogProviderType = "Custom")]
    public class SSISCustomLogProvider : LogProviderBase
    {
        // TODO: Override the base class methods.
    }
}

参照を追加

プロジェクトの下の [プロパティ]ノードをダブルクリックします。プロパティ ページの[署名] タブをクリックして、強力なキーでアセンブリに署名します。[アセンブリに署名する] をオンにして選択します。from厳密な名前のキー ファイルを選択します

アセンブリに署名する

キー ファイル名を入力します。たとえば、SampleKey と入力します。必要に応じてパスワードを入力できます。

厳密な名前キー

厳密な名前のキーが作成され、プロジェクトに追加されます。

強力なキーが作成されました

プロジェクトをビルドします。プロジェクトをリリース モードでビルドしました。DLL は で利用可能になりますC:\temp\CS40.CustomLogProvider\bin\Release。ここで、DLL を GAC に登録します。パスに gacutil が見つかりましたC:\Program Files\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools

管理者として実行モードでコマンド プロンプトを開きます。次のコマンドを 1 つずつ入力し、Enter キーを押します。

コマンド プロンプトのパスを、gacutil がある場所に変更します。

cd C:\Program Files\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools

次のコマンドを入力して、DLL を GAC に追加します。

gacutil -i C:\temp\CS40.CustomLogProvider\bin\Release\CS40.CustomLogProvider.dll

GAC登録

DLLCS40.CustomLogProvider.dllを の場所にコピーし、C:\temp\CS40.CustomLogProvider\bin\Releaseに貼り付けC:\Program Files\Microsoft SQL Server\110\DTS\LogProvidersます。パスの値110は、SQL Server 2012 を参照しています。

DLL をコピーしました

SQL Server Data Tools を使用して新しい SSIS パッケージを作成します。

SSIS プロジェクト

新しく作成された SSIS パッケージで、クリックSSIS --> Logging...してログ オプションにアクセスします。

ロギング

新しく作成された SSIS ログ プロバイダーが表示されます。DisplayName 属性で使用されている値を示していることがわかります。

それが役立つことを願っています。

SSIS ログ プロバイダー

于 2012-10-30T19:06:37.660 に答える