我觉得我缺少一些配置或其他东西,因为我已经遵循了大量的在线教程,但无法获得任何脚本任务的示例。我也无法调试该错误,因为我不是 C# 开发人员。
目前,我只是检查目录中是否存在文件:
1)
User::gvLastMonthImportFile
是字符串(只读)& User::gvLastMonthImportFileExists
是布尔值(读写)
2) 将
using System.IO;
添加到我的命名空间
3)
string fullPath = Dts.Variables["User::gvLastMonthImportFile"].Value.ToString();
Dts.Variables["User::gvLastMonthImportFileExists"].Value = File.Exists(fullPath);
Dts.TaskResult = (int)ScriptResults.Success;`
错误:
at System.RuntimeMethodHandle.InvokeMethod(对象目标,对象[]参数,签名sig,布尔构造函数) 在 System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(对象 obj,对象 [] 参数,对象 [] 参数) 在System.Reflection.RuntimeMethodInfo.Invoke(对象obj,BindingFlags invokeAttr,Binder活页夹,Object []参数,CultureInfo文化) 在System.RuntimeType.InvokeMember(字符串名称,BindingFlags绑定Flags,活页夹活页夹,对象目标,对象[]提供的参数,ParameterModifier []修饰符,CultureInfo文化,字符串[]命名参数) 在 Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTATaskScriptingEngine.ExecuteScript()
我最近遇到了这个问题,这是因为我没有将变量添加到脚本中。
您必须将 ReadOnlyVariables/ReadWriteVariables 显式添加到脚本任务中,以便通过双击设计器中的脚本任务,选择对话框右侧的“脚本”,然后单击 ReadOnlyVariables 来访问它们/ReadWriteVariables 下拉。
我知道这个回复已经晚了,但这给我带来了很多悲伤,希望它对某人有帮助。
我也遇到了同样的问题,被困了几个小时。然后我发现了我的问题。变量区分大小写,我拼错了其中之一。