执行SSIS脚本组件时遇到问题。说实话,我正在学习SSIS和脚本组件,我将通过The Script Component as a Transformation文章。到目前为止,我已经完成了那里所说的一切。但是当我尝试执行包时,我遇到了以下错误
TITLE: Package Validation Error
------------------------------
Package Validation Error
------------------------------
ADDITIONAL INFORMATION:
Error at Data Flow Task [Script Component [16]]: The script component is configured to pre-compile the script, but binary code is not found. Please visit the IDE in Script Component Editor by clicking Design Script button to cause binary code to be generated.
Error at Data Flow Task [DTS.Pipeline]: "component "Script Component" (16)" failed validation and returned validation status "VS_ISBROKEN".
Error at Data Flow Task [DTS.Pipeline]: One or more component failed validation.
Error at Data Flow Task: There were errors during task validation.
(Microsoft.DataTransformationServices.VsIntegration)
------------------------------
BUTTONS:
OK
------------------------------
一些谷歌搜索显示以下Package Validation Error 。因此,经过这一切,我明白问题的原因是什么,但如何纠正,我不知道。而且,调试是不可能的。
请帮帮我。
修改
最后我发现预编译选项应该设置为FALSE。默认值为TRUE。它解决了这个问题。
由于
答案 0 :(得分:1)
有时候足以重建任务,只需编辑它并在vsta中构建。
答案 1 :(得分:0)
当脚本的某些部分不再正常运行时,通常会出现此错误。这通常是由于脚本中的依赖性不再有效。为什么不调试包?如果这不是你的包裹,那么你将不得不找到编写它的人并让他们修复错误。
答案 2 :(得分:0)
我们最近遇到了这个问题,发现是因为我们的代码太过现代了。编写脚本的人使用了一些较新的代码糖果,例如:
somestring = $“ {somevariable}-{Someothervariable}”
SomeFunctionWithOutParameter(out bool myResult)
在我同事的机器上的VS2017编辑器中看起来还不错,但是由于某种原因,当我编辑脚本时,该脚本在VS2015中被拉起(SSIS在VS2017中被编辑),并且代码被标记。
使用String.Format()将代码还原为较旧的样式并预先声明out变量后,脚本便能够编译并运行。
我的猜测是,编译脚本任务代码的任何操作均未使用最新,最出色的c#编译器。