我们直接在MSDB.dbo.sysssisPackages中修改了SSIS包,但旧版本仍然运行 &g



我们直接通过以下方式修改了SSIS包的脚本:

UPDATETEXT MSDB.dbo.sysssisPackages.Packagedata @ptrval @SearchTextOffset @SearchTextLen @NewText;

修改是为了替换一个字符串常量。为了验证修改是否已保存,我们从SSMS导出了包,并确认导出的脚本包含了我们的修改(我们的新字符串常量)。

但是,当我们通过DTExec执行包时,仍然使用旧的字符串常量。就好像包没有更新过一样。

我们还需要做什么(在UPDATETEXT之后)使我们的更改生效吗?UPDATETEXT是更新包脚本的可行方法吗?

谢谢。

我的回忆是SSIS存储了。net脚本本身编译的二进制文件。你可以尝试打开你在Visual Studio中导出的包,编辑脚本任务并点击重新编译按钮,保存,保存和部署到MSDB(通过dtutil.exe)

遇到的下一个挑战是

包中的版本号无效

在VS 2017的项目设置中,将目标更改为SQL 2016并重新部署。如果通过命令行进行部署,请确保在130路径中使用dtutil.exe,否则部署将在部署操作期间升级包(假设140 dtutil在path环境变量中首先列出)

将安装路径编号转换为SQL Server版本号的参考答案/图表,即130 == SQL Server 2016

  • https://stackoverflow.com/a/18754188/181965

相关内容

  • 没有找到相关文章

最新更新