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

Use a SSIS package as Template in SSDT for Visual Studio 2017 Community

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

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

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

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 安装文件夹结构

我在树中遗漏了一些不适用于该问题的文件夹

我把我的包裹放在我在文章中找到的地方,但没有用。

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

我真的迷路了,我尝试了我读到的所有东西,还有我院子里的一些 "creative things" 但没有结果。

有人遇到过这个问题或者对这个问题有一些经验吗? 有人可以帮忙吗?

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

我没有安装 2017,但这似乎适用于 2015,所以如果您不介意成为小白鼠...

  1. 关闭Visual Studio

  2. 的所有实例
  3. 复制你的模板包到Common7\IDE\PrivateAssemblies\ProjectItems\DataTransformationProject\DataTransformationItems

  4. 打开您的 SSIS 项目

  5. 右键单击​​该项目,然后 select 添加、新建项目,您应该会列出模板包 (TemplatePackage2)

作为参考,下面是我的文件夹结构。由于我不记得包模板是位于 DataT运行sformationProject 还是 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

关于模板的一般说明

首先,进入模板的唯一途径是通过上述点击路径。如果想添加一个新包,我的默认点击路径是右击SSIS包然后select"New SSIS Package"

2012 年之前,组件和包的内部 ID 将保持不变。 BIDS Helper 具有解决此问题的功能。为什么这很重要,如果你试图跟踪包的性能,如果它们都报告相同的 GUID,你将有一段地狱般的时间来辨别 Data Flow Task 和 运行 是否持续 10 小时通常需要 10 秒或执行第二个(不同)包的相同包。

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

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

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

当你使用 VS 社区版时,你必须将包放在这个路径中:

C:\Program Files (x86)\Microsoft Visual Studio17\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

所以现在我有了它 运行! 感谢您的帮助!!