SSIS Script Task Error

(click to enlarge)

Has this ever happened to you? You’re tooling along building an SSIS package. You configure a Script Task, press the F5 key, and BAM! Error!

DTS Script Task has encountered an exception in user code:
Project name: ST_…
Exception has been thrown by the target of an invocation. 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()

Not Helpful

Although accurate, this is not a very helpful error. What does it mean?

This error means an SSIS variable or parameter found in the ReadOnlyVariables property or the ReadWriteVariables property of the Script Task does not match the name of a variable or parameter referenced in the .Net code.

You can learn more by taking my short (and inexpensive) course titled SSIS Self-Help!

Anders Schneiderman on Changing the World

Earlier this year, Frank (@Tableteer) and I had the honor of interviewing Anders Schneiderman (LinkedIn) on Data Driven. The episode is now live and titled Anders Schneiderman on Why We Need to Prepare Communities for the Future of Work.

Anders has a plan to help people leverage emerging technology to transform their destiny. Anders’ plan is documented in a report hosted at Makers All.

I’ve known Anders for years. We’ve worked together, even. He is one of the most conscientious people I know, and this comes through in the podcast as well as his report at Makers All.

Focusing on Appalachia…

Anders aims to first help people living in Appalachia.

The region is near and dear to my heart for many reasons. One reason is my Dad – who passed away in March – spent the last decades of his life living in Rose Hill Virginia, just a few miles from Cumberland Gap. I am familiar with the struggles of the people of Appalachia and, quite frankly, I am disappointed in our society for not doing more to help them.

Some of Appalachia’s economic wounds are self-inflicted and reinforced by a culture of honor that inoculates people from accepting help, especially “help from outside.” The solution, therefore, must be long-term and sustainable to overcome both the problems and the problems behind the problems.

Part of Anders’ Plan

One part of Ander’s plan strikes me as good and well: leveraging the Extension Agent model. The Extension Agent model was used to disseminate agricultural best practices and knowledge from agricultural colleges and studies into the fields – literally. Farmers of the age were notoriously practical individuals who commonly rejected “new-fangled” ideas from “city folk.”

See the similarities? I do.

Local Extension Agents were members of the community already. They held the trust of many farmers in the area, most were farmers themselves. Their plan? Implement the suggestions from colleges and studies.

A virtuous cycle emerged: Colleges received more feedback from implementation and neighboring farmers witnessed the results firsthand. Granted, some of the results were not inspiring. That was ok. “It didn’t work” is good feedback for all involved. When the results were positive, the results drove adoption by neighboring farmers.

What Anders Wants

This is what Anders wants for Appalachia. He wants to foster a similar model that “plants” and “cultivates” emerging technology in the minds of people suffering economically.

The Biggest Challenge

Anders’ greatest challenge, in my opinion, will be overcoming the culture of outsider-rejection. This is one reason I love the Extension Agent approach. Identify members of the community that are most-likely to excel in technology. Find the innovators. They’re there, they merely need to be located.

Today’s Appalachian innovators are fantastic candidates to become Anders’ technology “extension agents.” Anders is asking them to remain in their community, demonstrating via their own success while integrating continuous education and accurate, if difficult to hear and accept, truths about the software industry into their culture.

The Quick Fix

The idea of a “quick fix” is a non-starter, as demonstrated in this article about the efforts of Mined Minds in Appalachia. While I applaud their effort, I think Mined Minds missed an opportunity during implementation. In communicating with Anders about the article, I reacted to the mention of “19 weeks” with “it took me 19 years to make the move from hobbyist coder to professional!” True story.

Expectation management is vital. Perhaps the most vital aspect of this effort.


I encourage you to:


Free Webinar: A Data Science Story

From Shannon Lowder, Data Scientist, BimlHero: “You’ve all heard about data scientists, and seen job postings for them. But what is the job like, really?

“Let me share the story of my first official data science project. While sharing the story I’ll stop to point out the skills used that many DBAs, PowerShell junkies, BI developers and architects already have. There may be a few new topics you’ll want to pick up. This is a show and tell session.

“It’s my hope that you come away with a better understanding of what a data scientist is, and be able to measure how far between where you are and your own first project.”

Join Shannon 21 May at 12:00 EDT for A Data Science Story.

Register today!


The Space Between

It happened again this weekend. After delivering my presentation titled “Moving Data with Azure Data Factory,” at SQL Saturday – Raleigh (which was awesome, by the way!) – one of the handful who stood because the seats were filled (I am humbled) approached and said, “I read your blog. How do you find time to keep up with so many different topics?”

Finding Time

I have several responses. Some responses are questions like, “How much time each week do you spend consuming entertainment?” That question has morphed from, “How much time do you spend watching television?” because people spend less time watching television and more time consuming online media. I watch very little television. Game of Thrones? Haven’t seen it. Avengers: EndGame? Not yet. I will see Avengers, but it’ll be a while. And I will schedule the time to watch the movie, not go at the first opportunity.

Are you bad and wrong if you’ve seen Endgame already? Goodness, no. Go, enjoy. For me – and for most – it’s more about spending time with family. And that is Awesome.

Vegging in front of a screen is a time sink.

Time Sinks

Other time sinks are bad habits. Sleeping in can be a time sink. I go to bed around 8:30 PM each evening, read a little, and go to sleep. My alarm is currently set for 4:00 AM. I wake up, do my morning routine, spend some time reading (or listening to) God’s Word, enjoy some coffee, and go to work. I usually arrive in the home office between 5:15 and 6:00 AM.

Is sleep important? Yep. You should get enough. Some folks are evening people who like to stay up late and get up late. I am not advocating getting up early over staying up late. I am personally more productive in the morning. If you are staying up late, it’s worth considering whether you could push whatever you’re doing until early the next day, and then do it then. Your answers will vary, and sometimes the answer will be “nope, I need to do this task starting at midnight.” That’s cool.

The Time Between Tasks

Another thing that helps me is (attempted) efficiency. If I start each day with a list of tasks I want to accomplish that day, I find I almost always get more done. Why? I believe this reduces the friction of moving between tasks.

The time between tasks is the time between finishing one task and starting the next task. Reducing the time between tasks means I have more time on task.

Several methods have helped me reduce the time between tasks: pomodoro, GTD, calendar reminders, checklists, a little app I wrote called astreams (pictured above). The goal is to invest some time at the beginning or end of a day thinking and planning what needs to get done that (or the next) day.

I leave a list at the end of the day and revisit it the next morning. Things that don’t make the list still get done because, well, life happens. Checklists help. I found the book Better by Atul Gawande helpful.


In conclusion, do what the nice British lady says when departing a train on London’s Underground and, “Mind the gap.”

Free Webinar – Using Biml as an SSIS Design Patterns Engine

The next free webinar from Enterprise Data & Analytics is Using Biml as an SSIS Design Patterns Engine Thursday 2 May 2019 at 12:00 PM EDT.


Perhaps you’ve heard the buzz about Business Intelligence Markup Language (Biml) and wondered, “Why is everyone so excited about Biml?” Occasionally, a new technology emerges that changes everything. For SSIS developers, Biml is one such technology. Business Intelligence Markup Language (Biml) is a powerful solution for rapidly creating SSIS packages and solutions. SSIS Design Patterns support various load profiles. Combined, Biml and SSIS Design Patterns offer a compelling solution for automating enterprise data integration.

In this session, you will learn:

How to rapidly build multiple SSIS packages using BimlHow to apply different SSIS Design Patterns using BimlHow to automate SSIS Design Patterns using Biml.

I hope to see you there.
Register today!

HowTo: Install SSIS Framework Community Edition

SSIS Framework Comunity Edition is available from DILM Suite (Data Integration Lifecycle Management Suite). SSIS Framework CE is not only free, it is open source.

To install SSIS Framework Community Edition, visit DILM Suite and click SSIS Framework Community Edition:

When the SSIS Framework Community Edition page opens, click the first link:

This link will take you to GitHub where you may download the code:

Unzip the file and open the PDF titled SSIS Framework Community Edition Documentation and User Guide:

The documentation includes instructions for creating an SSIS Catalog on-premises – or an instance of Azure-SSIS in Azure Data Factory:

The Documentation and User Guide next walks you through the process of upgrading the SSIS packages to the latest version of SSIS, followed by instructions for deploying the Framework project:

The next step is to execute T-SQL scripts that configure the project you just deployed and also create the SSIS Framework objects:

The remainder of the document walks you through testing and customizing the SSIS Framework for your own needs. A customizing primer is included, in which I demonstrate how to extend Framework functionality.

Learn More

Click here to learn about enterprise SSIS Framework editions.
Click here to learn about SSIS Framework Browser, which is free.