以下是我使用 Visual Studio 2010 在 .NET 4.0 框架中创建自定义日志提供程序所执行的步骤。这些步骤还显示了提供程序在 SQL Server Data Tools 2010 中的显示方式。
首先,我使用的是 Microsoft SQL Server Integrations Services Designer 版本 11.0.2100.60
创建一个类库项目。我选择了 C# 和 .NET Framework 4,将项目命名为 CS40.CustomLogProvider。
将类文件名更改为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.
}
}
双击项目下的属性节点。单击属性页面上的签名选项卡以使用强密钥对程序集进行签名。检查签署程序集并选择从选择一个强名称密钥文件。
输入密钥文件名,例如 SampleKey。如果您愿意,可以输入密码。
将创建强名称密钥并将其添加到项目中。
构建项目。我在发布模式下构建了项目。DLL 将在C:\temp\CS40.CustomLogProvider\bin\Release
. 现在,是时候将 DLL 注册到 GAC 了。我在路径中找到了 gacutilC:\Program Files\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools
在以管理员身份运行模式下打开命令提示符。依次输入以下命令并回车。
将命令提示符路径更改为可以找到 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
将 DLL 复制到CS40.CustomLogProvider.dll
locationC:\temp\CS40.CustomLogProvider\bin\Release
并将其粘贴到C:\Program Files\Microsoft SQL Server\110\DTS\LogProviders
. 路径中的值110
是指 SQL Server 2012。
使用 SQL Server Data Tools 创建一个新的 SSIS 包。
在新创建的 SSIS 包上,单击SSIS --> Logging...
以访问日志记录选项
您会注意到新创建的 SSIS 日志提供程序。您可以看到它显示了 DisplayName 属性上使用的值。
希望有帮助。