是否必须在所有相关主机上安装 SSIS 组件?

Does SSIS Components have to be installed on all involved hosts?

TLDR; 我正在尝试连接到主机并点击 "To run a SSIS package outside of SQL Server Data Tools you must install Derived Column of Integration Services or higher"。 是否需要在所有主机上安装 SSIS 才能使我的包成功? 次要问题:如果是这样,为什么在 deployed/dtexec 版本失败时从我的开发机器手动执行?

如果这是一个基本问题,我深表歉意(我仍然沉浸在 SSIS 的所有事物中,并试图尽快学习)。提前感谢您提供的任何帮助!

我有一个在我的开发机器上运行良好的包(通过 Visual Studio)。但是,当我部署包时,我在尝试连接到网络上辅助主机上的 MySQL 数据库时遇到错误。退后一步,我决定尝试在我的开发机器上通过 DTEXEC 手动执行以尝试故障排除...

然而,当通过 DTEXEC 执行这个包时,我遇到了一个错误说明:

"To run a SSIS package outside of SQL Server Data Tools you must install Derived Column of Integration Services or higher"

查看日志,该程序包似乎能够成功连接到主机 1 并进行一些数据操作(3 台主机之一;我知道主机 1 和主机 3 安装了 SSIS)。但是,当它尝试连接到主机 2 时,它会因上述错误而失败。在最长的时间里,我认为这是由于我试图连接到 MySQL 数据库(使用 .net Provider\MySQL 数据提供程序)造成的,但考虑到上述错误,它可能指向其他内容。 ..

经过一些搜索,我找到了以下可能相关的文章: https://dba.stackexchange.com/questions/49786/error-to-run-a-ssis-package-outside-of-sql-server-data-tools-you-must-install

Getting error running SSIS package on non-SSIS Server

我知道 SSIS 没有安装在主机 2 上。正在从主机 1 执行程序包,该主机确实安装了 SQL 服务器和 SSIS。主机 3 还安装了 SQL 服务器和 SSIS,我也能够在此主机上成功 operate/connect。唯一出现问题的主机是没有安装 SQL 服务器和 SSIS 的主机 2。

是否所有主机都必须安装 SSIS 才能建立连接?此外,如果 SSIS 确实需要安装在主机 2 上,为什么我的开发机器会成功而 dtexec/deployed 版本失败?

再次感谢您提供的任何帮助!

你第一个问题的答案是 "Yes",这个事实就是你第二个问题的答案。

简而言之,SSIS 包是不是 独立的可执行文件。它们更像是 SSIS 服务读取、解释和执行的 .ini 文件。如果主机上没有 SSIS 服务 运行,则该计算机无法对 SSIS 包(.dtsx 文件)执行任何操作。

您的开发机器成功,因为它有 Visual Studio 或 BIDS,它是 SSIS 服务引擎的开发者版本。