【发布时间】:2017-08-15 18:15:07
【问题描述】:
TLDR; 我正在尝试连接到主机并点击“要在 SQL Server Data Tools 之外运行 SSIS 包,您必须安装派生列的集成服务或更高版本”。 是否需要在所有主机上安装 SSIS 才能使我的包成功? 第二个问题:如果是这样,为什么在部署/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 Data Provider),但鉴于上述错误,它可能指向其他东西......
经过一番搜索,我找到了以下可能相关的文章: 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
我知道主机 2 上没有安装 SSIS。包正在从主机 1 执行,并且该主机确实安装了 SQL Server 和 SSIS。主机 3 还安装了 SQL Server 和 SSIS,我也能够在该主机上成功操作/连接。唯一出现问题的主机是主机 2,它没有安装 SQL Server 或 SSIS。
是否所有主机都必须安装 SSIS 才能建立连接?此外,如果确实需要在主机 2 上安装 SSIS,为什么我的开发机器会成功而 dtexec/deployed 版本失败?
再次感谢您提供的任何帮助!
【问题讨论】:
-
您的包在主机上执行什么类型的数据操作?是从数据库中提取数据,还是其他?
-
在主机 2 上,它是纯粹的数据提取。没有进行数据操作(编辑/插入)。只需连接,提取一些数据,然后断开连接。
-
您能否更具体一点-“连接”和“提取”是什么意思。你如何做到这一点 - 连接到 DBMS 或文件共享,你如何提取数据。主机 2 是数据库服务器,并且您使用 OLE DB 提取数据,没有 SSIS 二进制文件就可以了;在这种情况下,问题出在其他地方。