SSIS错误提示:"要在SQL Server Data Tools之外运行SSIS包,必须安装Standard Edition(64位)的Integration Services"。

3

我的开发环境是Visual Studio Ultimate 2012,SQL Server 2017和Sql Server Data Tools 2012。我正在使用Windows 10 64位操作系统。

我的项目包括C#脚本任务和Sql命令,并且在SSDT中可以成功运行,但尝试从CMD中运行时,出现以下错误信息:

要在SQL Server Data Tools之外运行SSIS包,必须安装Standard Edition(64位)的Integration Services。

如果我创建一个空的项目包并运行它,则也会成功运行。请帮帮我。


您需要使用SQL的标准版才能通过CMD执行一些DTSX组件,例如脚本任务、非SQL数据库连接、SMTP任务等。 - Santiago
@Priyanshu,我提供的链接解决了问题吗? - Hadi
3个回答

1

(1) 安装 Integration Services (共享功能)

我认为问题在于您已安装了用于 Visual Studio 的 SQL Server 数据工具 (SSDT),但您没有从 SQL Server 安装中安装 Integration Services (共享功能),这是在 Visual Studio 之外执行 .dtsx 包所必需的。

有关更多信息,请查看以下链接:

(2) 使用 dtexec(32 位) 执行

您可以尝试通过 32 位 dtexec 执行包。

如以下 Microsoft 文档 所述:

在64位计算机上,Integration Services会安装64位版本的dtexec实用程序(dtexec.exe)。如果您需要以32位模式运行某些包,则必须安装32位版本的dtexec实用程序。要安装32位版本的dtexec实用程序,您必须在安装过程中选择Client Tools或Business Intelligence Development Studio。

默认情况下,在同时安装了64位和32位版本的Integration Services命令提示实用程序的64位计算机上,命令提示符将运行32位版本。这是因为32位版本的目录路径出现在PATH环境变量中的64位版本目录路径之前。(通常,32位目录路径为:\Program Files(x86)\Microsoft SQL Server\100\DTS\Binn,而64位目录路径为:\Program Files\Microsoft SQL Server\100\DTS\Binn。)

更多信息请参见:


此外,其他链接中也提到了类似的问题,您可以查看它们以获取更多信息:

1

在Hadi的回答基础上,更改应该是使用正确的版本,我的情况下是使用 C:\Program Files\Microsoft SQL Server\130\DTS\Binn> 而不是 C:\Program Files (x86)\Microsoft SQL Server\130\DTS\Binn>


这是我的问题。我的Path环境变量中引用了多个SQL Server实例。当我明确指定所需的DTExec.exe的完整路径时,它就可以工作了。例如: C:\ Program Files \ Microsoft SQL Server \ 130 \ DTS \ Binn \ DTExec.exe - John

0

我遇到了同样的错误,我的2017集成服务已经安装好了,所以建议的解决方案并不适用。

我尝试了许多选项,包括卸载和重新安装,最终解决方法是升级到企业版!

我发现在一个成功运行dtexec的服务器上安装了企业版,而在有问题的服务器上没有安装企业版。我如何发现它?我在两个服务器上运行了以下命令:

  1. 运行SQL SERVER 2017安装程序的setup.exe文件
  2. 在左侧菜单中找到“工具”-点击链接
  3. 找到:“已安装的SQL Server功能发现报告”
  4. 您将在版本列中看到一个空单元格与“企业版”相对应,这是成功的版本!

我如何在有问题的服务器上进行升级?

  1. 运行SQL SERVER 2017安装文件的setup.exe
  2. 在左侧菜单中,您会看到“维护” - 点击该链接
  3. 找到:"版本升级"
  4. 遵循说明,在我的情况下,由于我的组织有一个自动更新密钥,我只需按几次“下一步”直到成功升级

祝你好运!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接