【发布时间】:2020-04-29 19:04:38
【问题描述】:
我们正在从 SQL Server 2005 系统迁移现有系统。该系统的一个组件是使用 VS2005 创建的 SSIS 项目。
我们在一月份安装了 SQL Server 2016 标准版。数据库数据文件位于 E: 驱动器上。
我们在一月份安装了 Visual Studio 2017,但当时没有使用它。
由于在本地运行 VS2019 并使用 VPN 访问网络时出现文件访问问题,我们最近在 db 服务器上安装了 Visual Studio 2019。
我们刚刚从 SQL Server 安装程序安装了 SSIS,意识到我们缺少该组件。
作为所有这些安装的结果,dtinstall.exe 和 dtexec.exe 位于以下文件夹中:
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\SSIS\140\Binn
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\SSIS\150\Binn
E:\Program Files\Microsoft SQL Server\130\DTS\Binn
E:\Program Files (x86)\Microsoft SQL Server\130\DTS\Binn
E:\Program Files (x86)\Microsoft SQL Server\120\DTS\Binn
E:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn
E:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\CommonExtensions\Microsoft\SSIS\150\Binn
dtexecui.exe 只能在以下文件夹中找到:
E:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\CommonExtensions\Microsoft\SSIS\150\Binn
这两个 Visual Studio 2019 包是在服务器上的 C: 盘中开发的。它们在 VS 中正确编译和执行。
每个包都有 3 个配置文件(用于测试、预览和生产场景)。
由于安装部署实用程序时发现的兼容性问题,将 2 个包的 TargetServerVersion 配置为“SQL Server 2016”。
使用传统包部署模型创建了部署实用程序。
将部署实用程序文件从 C:...\Deployment 文件夹复制到服务器上 F: 驱动器上的文件夹。
运行 dtinstall.exe 在服务器上安装软件包。它在数据库数据文件所在的同一驱动器上创建了文件:
E:\Program Files (x86)\Microsoft SQL Server\130\DTS\Packages\网站同步 SSIS 项目。
使用 dtexecui.exe 执行包,如上所述,它只能在 \150\Binn 文件夹中找到。
这里是 dtexecui 生成的 DTexec.exe 命令行:
/FILE "\"E:\Program Files (x86)\Microsoft SQL Server\130\DTS\Packages\网站同步 SSIS 项目\Products Upload.dtsx\"" /DECRYPT /CONFIGFILE "\"E:\ Program Files (x86)\Microsoft SQL Server\130\DTS\Packages\Web Site Synch SSIS Project\Test Products.dtsConfig\"" /CHECKPOINTING OFF /REPORTING EW
在执行时(从 dtexecui 内),它会在最后一步出错,执行 WZZIP.exe 以压缩在前面步骤中创建的平面文件。
错误消息显示:“错误:要在 SQL Server Data Tools 之外运行 SSIS 包,您必须安装集成服务标准版或更高版本。”
我并没有真正理解这条信息:我们确实有 SQL Server 标准版。我假设为此的 SQL Server 安装程序将安装集成服务的标准版。
我研究了这个错误,发现它通常是由于package版本和tool版本不兼容,但我不知道如何在我的场景中解决这个问题。 dtexecui 错误消息没有给出任何提示。
【问题讨论】:
-
嗨,LindaK,欢迎来到 SO!在 StackOverflow,发布问题然后提交并接受您自己的答案是完全可以接受的。我鼓励您修改上面的“问题”帖子,以仅包含有关实际问题的信息。然后在下面你应该看到一个“你的答案”提交表格。将与解决方案相关的所有信息放在那里,然后点击“发布您的答案”。然后在发布后,您可以选择“接受此答案”。这将向 StackOverflow 上的其他人显示您的问题已经有了解决方案。它也将对未来的访客更有利。
-
谢谢 digital.aaron。我按照你的鼓励做了。
标签: ssis visual-studio-2019 sql-server-2016 dtexec