3

I feel like I am missing some configuration or something, because I have followed tons of tutorials online, but cannot get any examples of a script task to work. I cannot debug the error either because I am not a C# developer.

Currently, I am simply checking if a file exists in a directory:

1) User::gvLastMonthImportFile is string (read-only) & User::gvLastMonthImportFileExists is Boolean (read-write)

2) Added using System.IO; to my namespaces

3)

string fullPath = Dts.Variables["User::gvLastMonthImportFile"].Value.ToString();
Dts.Variables["User::gvLastMonthImportFileExists"].Value = File.Exists(fullPath);
Dts.TaskResult = (int)ScriptResults.Success;`

ERROR:

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

9
  • That's not your error. That's a stack trace. There must be more to the error message than that. Commented May 1, 2017 at 15:37
  • How do I get the error? Commented May 1, 2017 at 15:37
  • If I was a gambling man (I'm not) I would say you don't have permission on the folder. But as Tab Alleman noted there is more to the error message that you are showing us. Commented May 1, 2017 at 15:39
  • Is the error in development mode (within the ide) or after deployment. If the former and you have sql2012 you can step through your code while it is debugging. Commented May 1, 2017 at 15:41
  • Please post your complete list of your namespaces. Commented May 1, 2017 at 15:59

4 Answers 4

4

I ran into this recently and it was because I had not added the variables to the script.

You have to explicitly add ReadOnlyVariables/ReadWriteVariables to the script task for it to have any access to them by double-clicking the script task in the designer, selecting 'Script' on the right-hand side of the dialog and then clicking the ReadOnlyVariables/ReadWriteVariables drop down.

I know this reply is late but this caused me a lot of grief and hopefully it helps someone.

Sign up to request clarification or add additional context in comments.

1 Comment

This was the issue for me, would never have figured that out, thanks!
1

I had a similar problem, but I want to had a screenshot to help debug these cases : After closing the cryptic error prompt, watch into your debug output, there will be a short yet more useful error message : enter image description here

1 Comment

ah merci pour ca!
0

Steps to run

  1. adding 2 lines code in the script.

    Messagebox.Show(Dts.Variables["User::gvLastMonthImportFile"].Value.ToString());
    Messagebox.Show(File.Exists(fullPath).Value.ToString());
    
  2. save and close the script, OK script task.

  3. right click script task, execute the task.

  4. when task is executing, the message will pop up. Please verify the data.

Is there any warning in the right hand side of script window?

enter image description here

8 Comments

I added these lines, but an "Exception has been thrown by the target of an invocation" before it will even execute the script. If I "Close" that trace message, it fails the task. No outputs.
Where did you run the code? in the script window? You must close it and execute the script task.
No. I saved, clicked OK, and executed the task. At this point, I am wondering if it's some kind of DLL or library I am missing?
I just added an image, is there any warning/error in your right hand side of script window?
There are no warnings and I see the same references you have. Not sure if this means anything, but above public void Main() it says "0 references"
|
0

I had that same problem and was stuck for a couple of hours. Then I found my problem. Variables are case-sensitive and I had misspelled one of them.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.