1

I am trying to deploy a Script component to SSIS toolbox in the Data Flow for reuse. I'm using visual studio 2010, and SQL server 2014.

I have created the script, Signed the assembly, used Gacutil.exe /i on the DLL file to add it. It now recedes in the GAC_MSIL folder under it's strong name folder.

The above procedure is the current way I'm trying to get it to work, but I have additionally tried to use SN utility to generate a strong name and add this key back into the build. Didn't work any better than the above procedure. Is it supposed to be next to impossible to add custom components to SSIS?

In my simple mind it should be just sign, build, GAC and done.

4

1 回答 1

2

SSIS 包的编辑器与您正在使用的 SQL Server 版本紧密绑定。

作为一般参考,我们有以下内容

  • VS 2005 = SQL Server 2005 {90}
  • VS 2008 = SQL Server 2008 和 SQL Server 2008 R2 {100}
  • VS 2010、VS 2012 = SQL Server 2012 {110}
  • VS 2013 = SQL Server 2014 {120}
  • VS 2015 = SQL Server 2016(RTMed 后){130}

现在,您可以使用 VS 2010 来构建您的自定义 DLL,只要您引用了正确版本的 SSIS DLL,然后使用 VS 2013 的 SSDT-BI 版本来编写您的 SSIS 包 --- 这很好。

让它发挥作用

您当前的构建和部署周期是您需要在服务器上执行的操作。这将允许 SSIS 在运行时找到组件。

但是,您需要开发经验,因此您还需要相同的 DLL 添加到 SQL Server 安装中的正确文件夹中。对于 SQL Server 2014,还需要将自定义“脚本组件”或数据流中的任何内容复制到

C:\Program Files\Microsoft SQL Server\120\DTS\PipelineComponents

如果您做得正确,那么项目会自动显示 VS 2010+。VS 2005/2008 需要一个额外的步骤,将任务和组件显式添加到工具箱中。

如果他们没有显示,那么你要么

  • 针对错误版本的 SSIS 框架构建您的 DLL
  • 使用错误版本的 SSIS 工具
  • DTS未根据您的 SQL Server 版本将 DLL 部署到 GAC 和正确的子文件夹。

清如泥?

于 2015-10-12T12:48:31.240 回答