具有在 SSDT (Visual Studio 2017) 上运行良好的脚本组件的包在部署到 SQL Server 2016 时不会运行。它会引发 ComponentVersionMismatchException。
因此,其他软件包工作正常。这个有一个带有脚本组件目标的数据流。当我第一次开始开发项目时,我没有将目标从 SQL 2017 调整到 SQL 2016。我开发了所有东西并让它从 SSDT 运行。我正在使用 .ispac 文件进行部署。部署时,它会抛出 ComponentVersionMismatchException。这是我试图让脚本组件运行的内容:
- 将目标更改为 SQL 2016。失败。
- 做一个小改动并确保重新编译脚本。失败的
- 确保选择 Visual C# 2015。失败的。
- 制作一个包的副本,并删除脚本组件。这成功了。
- 在副本中,只需添加一个新的空脚本组件作为目标。又失败了。
- 删除数据流任务并使用空脚本组件重建。失败的。
- 完全从头开始创建一个包,并使用相同的源和空脚本组件重新创建数据流。失败的。
- 我尝试完全创建一个新项目,将目标设置为 SQL 2016,并创建了一个类似的数据流,只是将表作为源,将空脚本组件作为目标。还是失败了。
我希望一个针对 SQL 2016 的全新项目,其脚本组件不执行任何操作,应该能够在服务器上执行。在这一点上,我很迷茫。