我们直接在msdb.dbo.sysssispackages中修改了SSIS软件包,但旧版本仍在运行
我们直接通过以下内容修改了SSIS软件包的脚本:
updateText msdb.dbo.sysssspackages.packagedata @ptrval @searchtextoffset @searchtextlen @newtext;
修改是替换字符串常数。为了验证修改已保存,我们从SSM中导出软件包,并确认导出的脚本包含我们的修改(我们的新字符串常数)。
但是,当我们通过DTEXEC执行软件包时,仍在使用旧的字符串常数。好像包装没有更新。
我们需要做其他事情(在UpdateText之后)才能生效吗? UpdateText甚至是更新软件包脚本的可行方法吗?
谢谢。
We modified an SSIS package's script directly via the following:
UPDATETEXT MSDB.dbo.sysssisPackages.Packagedata @ptrval @SearchTextOffset @SearchTextLen @NewText;
The modification was to replace a string constant. To verify the modification was saved, we exported the package from SSMS and confirmed the exported script contained our modification (our new string constant).
However, when we execute the package via DTExec, the old string constant is still being used. It's as if the package was not updated.
Is there something else we need to do (after UPDATETEXT) for our change to take effect? Is UPDATETEXT even a viable way to update a package script?
Thank you.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我的回忆是SSIS存储了.NET脚本本身和编译的二进制文件。您可以尝试打开您在Visual Studio中导出的软件包,编辑脚本任务并按下Repompile按钮,保存,保存并部署到MSDB(通过dtutil.exe),
遇到的下一个挑战是
,将目标更改为SQL 2016和Redeploy。如果您通过命令行部署,请确保您在130路径中使用dtutil.exe,否则部署将在部署操作过程中升级包装(假设140 dtutil首先在路径环境变量中列出了140个dtutil
)将路径号安装到SQL Server版本IE IE IE 130 == SQL Server 2016
My recollection is that it SSIS stored the .NET script itself and the compiled binary. You might try opening the package you exported in Visual Studio, editing the Script Task and hitting the recompile button, save, save and deploy to the MSDB (via dtutil.exe)
The next challenge encountered was
In the Project settings in VS 2017, change the target to SQL 2016 and redeploy. If you deploy via the command line, ensure that you usethe dtutil.exe in the 130 path, otherwise the deploy will upgrade the package during deploy operation (assuming the 140 dtutil is listed first in the PATH environmental variable)
Reference answer/chart for translating install path numbers to SQL Server versions i.e. 130 == SQL Server 2016