sql-server - SSIS 错误 "To run a SSIS package outside of SQL Server Data Tools you must install Standard Edition (64-bit) of Integration Services "

标签 sql-server cmd ssis sql-server-data-tools ssis-2012

我正在使用 Visual studio ultimate 2012、SQL Server 2017 和 Sql Server Data tools 2012。我正在使用 windows 10 64 位。

我的包由脚本任务 (c#) 和 Sql 命令组成,它从 SSDT 成功运行,但是在尝试从 CMD 运行我的包时我得到了

To run a SSIS package outside of SQL Server Data Tools you must install Standard Edition (64-bit) of Integration Services.

如果我制作另一个空包并尝试运行它,那么它也会成功运行。 请帮忙。

最佳答案

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

我认为问题是您已经为 Visual Studio 安装了 SQL Server Data Tools (SSDT),但是您没有从 SQL Server 安装中安装集成服务(共享功能),这是在外部执行 .dtsx 包所必需的 Visual Studio 。

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

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

您可以尝试的另一件事是通过 32 位 dtexec 执行包。

如下所述Microsoft Documentation :

On a 64-bit computer, Integration Services installs a 64-bit version of the dtexec utility (dtexec.exe). If you have to run certain packages in 32-bit mode, you will have to install the 32-bit version of the dtexec utility. To install the 32-bit version of the dtexec utility, you must select either Client Tools or Business Intelligence Development Studio during setup.

By default, a 64-bit computer that has both the 64-bit and 32-bit versions of an Integration Services command prompt utility installed will run the 32-bit version at the command prompt. The 32-bit version runs because the directory path for the 32-bit version appears in the PATH environment variable before the directory path for the 64-bit version. (Typically, the 32-bit directory path is :\Program Files(x86)\Microsoft SQL Server\100\DTS\Binn, while the 64-bit directory path is :\Program Files\Microsoft SQL Server\100\DTS\Binn.)

更多信息:


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

关于sql-server - SSIS 错误 "To run a SSIS package outside of SQL Server Data Tools you must install Standard Edition (64-bit) of Integration Services ",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53731230/

相关文章:

c - 无法通过cmd运行C程序

windows - 如何添加默认值包含双引号和百分号的注册表项?

sql-server - SQL Server 说数据对于列来说太大?

sql - 我正在尝试根据日期和符号通过将两个表的两列相乘来更新另一个表中的多个值

sql-server - 将数据库 661 版本与 SQL Server 2008 一起使用

sql-server - 在 SQL Server Express 中复制数据库?

sql-server - 带日期部分的索引 View ,日期部分上的查询未使用索引

windows - 如何从 Windows 命令返回 bool 结果?

sql-server - 如何在 SSIS 中插入新记录之前清空目标表?

sql - SSIS 包在调试时立即取消