在Visual Studio 2017社区的SSDT中使用SSIS包作为模板

时间:2018-01-02 01:02:17

标签: ssis visual-studio-2017 sql-server-data-tools visual-studio-community

。大家好!我遇到了一个小问题。

我有VS 2017社区版,我已经安装了SSDT(SQL Server数据工具) 我已经构建了一个SSIS包(一个通用的包),现在我想将它用作未来包的模板。

所以,我正在网上挖掘,也在StackOverflow中找到了这篇文章:

Setting up SSIS Item Template in SQL Server Data Tools for Visual Studio 2012

我在MS中发现了很多其他文章,例如:

https://docs.microsoft.com/en-us/sql/integration-services/create-packages-in-sql-server-data-tools

其他人等,并跟进发球台,但由于某种原因,我无法使其发挥作用。

这是我的VS安装的文件夹结构

The VS Folder struture image

我已经从树中遗漏了一些不适用于问题的文件夹

我把包装放在文章中找到的地方并且没有用。

有时候,在我提到的文件夹中没有这样的文章我创建并试过但也没有(所以删除了这个文件夹)

我真的迷失了,我尝试了所有我读过的东西,还有一些"创造性的东西"从我的院子里但没有结果。

是否有人对此问题有所了解或有过一些经验? 有人可以帮忙吗?

非常感谢你。 最好的问候和新年快乐! 加布里埃尔

2 个答案:

答案 0 :(得分:3)

根据我读过的文章和@billinkc的帮助,我终于想出了把包放在哪里,我也遗漏了一些东西,但是当我读到@billinkc回答时我意识到了。

当您使用VS社区版时,您必须将包放在此路径中:

C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Community \ Common7 \ IDE \ CommonExtensions \ Microsoft \ SSIS \ ProjectItems \ DataTransformationProject \ DataTransformationItems

你需要使它工作的文件是一个dtsx文件(将成为模板的包)和一个主要需要这个结构的vsdir文件我使用了这个值并且工作正常:

YourPackageName.dtsx| |The name you want to appear|100|The description of the package| |21| |#44

您可以在MS文档中检查vsdir文件的所有字段:

https://docs.microsoft.com/en-us/visualstudio/extensibility/internals/template-directory-description-dot-vsdir-files

所以现在我跑了! 谢谢你的帮助!!

答案 1 :(得分:2)

我没有安装2017,但这似乎适用于2015年,所以如果你不介意成为一只豚鼠......

  1. 关闭Visual Studio的所有实例

  2. 将您的模板包复制到Common7\IDE\PrivateAssemblies\ProjectItems\DataTransformationProject\DataTransformationItems

  3. 打开您的SSIS项目

  4. Add New Item右键单击项目并选择Add,New Item,您应该列出您的模板包(TemplatePackage2)
  5. enter image description here

    供参考,下面是我的文件夹结构。由于我不记得包模板是否存在于DataTransformationProject或DataTransformationProject \ DataTransformationItems,我将模板包的副本放在两者中,按名称变化以查看编辑器中拾取的内容

    • C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ PrivateAssemblies \ ProjectItems \ DataTransformationProject \ DataTransformationItems
    • C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ PrivateAssemblies \ ProjectItems \ DataTransformationProject \ DataTransformationProjectItems.vsdir
    • C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ PrivateAssemblies \ ProjectItems \ DataTransformationProject \ TemplatePackage.dtsx
    • C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ PrivateAssemblies \ ProjectItems \ DataTransformationProject \ DataTransformationItems \ DtsProjectItems.vsdir
    • C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ PrivateAssemblies \ ProjectItems \ DataTransformationProject \ DataTransformationItems \ TemplatePackage2.dtsx

    关于模板的一般说明

    首先,获取模板的唯一方法是通过上述点击路径。如果 I 想要添加新包,我的默认点击路径是右键单击SSIS包并选择“新SSIS包”

    2012年之前,组件和包的内部ID将保持不变。 BIDS Helper具有解决此问题的功能。为什么重要的是如果你试图跟踪包的性能,如果他们都报告相同的GUID,你将会有一段时间来判断运行10小时的Data Flow Task是否与正常情况相同需要10秒或者是第二个(不同的)包执行。

    开发人员需要在其计算机上成为本地管理员才能部署模板包,并且您需要一个流程来保持最新状态。那个或者你需要让网络管理员把这些复制到开发者机器上。

    最后,如果我有模板逻辑,我可能会将其抽象为Biml,然后使用源代码控制来确保人们使用当前版本并避免整个权限问题。