在SSIS包中,将参数值传递给变量会产生运行时错误

时间:2015-11-12 23:32:33

标签: c# ssis

我正在尝试使用Script Task构建一个包,并将参数值加载到局部变量。

我创建了Project和package Parameters。 enter image description here

并将它们调用到脚本任务编辑器中 在脚本编辑器中,我输入了以下脚本 enter image description here 建立成功! 执行包我得到RunTime错误

at System.RuntimeMethodHandle.InvokeMethod(Object target,Object [] arguments,Signature sig,Boolean constructor)    at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj,Object [] parameters,Object [] arguments)    在System.Reflection.RuntimeMethodInfo.Invoke(Object obj,BindingFlags invokeAttr,Binder binder,Object []参数,CultureInfo文化)    at System.RuntimeType.InvokeMember(String name,BindingFlags bindingFlags,Binder binder,Object target,Object [] providedArgs,ParameterModifier [] modifiers,CultureInfo culture,String [] namedParams)    在Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTATaskScriptingEngine.ExecuteScript()

不幸的是,我不理解这条消息。 需要帮助!

由于 多夫

1 个答案:

答案 0 :(得分:0)

我能够重现您在上面发布的错误,看来问题出在脚本中的变量大小。

首先,您需要确保已将变量设置为Readonly或ReadWrite,您可以对脚本任务的属性执行此操作

enter image description here

然后您需要更新变量:

应该是:

$ Project :: ServerName而不是$ project :: ServerName

注意项目和项目的区别 - 这就是造成问题的原因。

enter image description here