gpt4 book ai didi

sql-server - 为什么自定义 SSIS 日志提供程序不会显示在提供程序下拉列表中?

转载 作者:行者123 更新时间:2023-12-04 01:16:29 25 4
gpt4 key购买 nike

我正在尝试为 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...菜单中,新的自定义日志提供程序不存在。

我现在使用的代码是来自 Codeplex 的 Microsoft (HTMLLogProviderCS) 提供的示例包,没有运气。

任何我可能错过的东西的想法?

最佳答案

以下是我使用 Visual Studio 2010 在 .NET 4.0 框架中创建自定义日志提供程序所执行的步骤。这些步骤还展示了该提供程序在 SQL Server Data Tools 2010 中的显示方式。

首先,我使用的是 Microsoft SQL Server 集成服务设计器版本 11.0.2100.60

SSIS Designer version

创建一个类库项目。我选择了 C# 和 .NET Framework 4,将项目命名为 CS40.CustomLogProvider。

Create class library

将类文件名更改为 SSISCustomLogProvider 。右键单击 References 并导航到路径 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.
}
}

Add reference

双击项目下的属性节点。单击属性页面上的签名选项卡以使用强 key 对程序集进行签名。选中对程序集进行签名,然后从选择强名称 key 文件中进行选择。

Sign the assembly

输入 key 文件名,例如 SampleKey。如果您愿意,可以输入密码。

Strong name key

强名称键将被创建并添加到项目中。

Strong key created

构建项目。我在 Release模式下构建了项目。 DLL 将在 C:\temp\CS40.CustomLogProvider\bin\Release 中可用。现在,是时候将 DLL 注册到 GAC。我在路径 C:\Program Files\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools 中找到了 gacutil

在以管理员身份运行模式下打开命令提示符。一一输入以下命令并回车。

将命令提示符路径更改为可以找到 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 register

将 DLL CS40.CustomLogProvider.dll 复制到位置 C:\temp\CS40.CustomLogProvider\bin\Release 并将其粘贴到 C:\Program Files\Microsoft SQL Server\110\DTS\LogProviders 中。路径中的值 110 指的是 SQL Server 2012。

DLL copied

使用 SQL Server Data Tools 创建一个新的 SSIS 包。

SSIS project

在新创建的 SSIS 包上,单击 SSIS --> Logging... 以访问日志记录选项

Logging

您会注意到新创建的 SSIS 日志提供程序。您可以看到它显示了 DisplayName 属性上使用的值。

希望有帮助。

SSIS log provider

关于sql-server - 为什么自定义 SSIS 日志提供程序不会显示在提供程序下拉列表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13142631/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com