Occasionally my engineering curiosity gets the better of me and I ask myself questions like, “Self, do I think such-and-such is possible?” Most of the time these questions lead to some brain exercise and little else of use. Sometimes some good comes from the effort.
A few weeks ago I asked myself, “Do you think it is possible to create a custom SSIS 2012 task using Visual Basic 2012 Express?” Crazy question, right?
The short answer is: “Yes.”
Why is this significant? Because Visual Studio Express 2012 for Windows Desktop is free. This means if you have a license for SQL Server 2012, you do not need to spend more money to extend SSIS with custom tasks and components. You may want to spend money to obtain some of the tools and features of other versions of Visual Studio 2012, though.
Some Background, Tribal Knowledge, and The Obvious
I ran into some issues along the way. Initially, I didn’t know if the issues were related to the free Express Edition. It is difficult to work through issues when you do not know something is possible. It took time and determination, but I worked through enough issues to write this series of posts.
Some things I encountered are dreadfully obvious to real software developers. After years of developing software they possess tribal knowledge - they don’t remember all the stuff they know. So when a comparative .Net n00b (like me) asks a question, they assume I’ve done all the things they would have done by the intellectual equivalent of rote muscle memory.
I had not done all those things (did I mention I am a .Net n00b?).
One result was the things that tripped me were relatively minor. It was all well and good once I knew the tricks, but the tricks are considered so basic that people rarely share them. It is assumed that if you build assemblies aimed for the Global Assembly Cache (GAC), you must know the essentials.
If you are not a .Net n00b, you probably do. But that did not apply here. Now, I am no slouch when it comes to coding. But I am also no longer a professional software developer. Before .Net arrived on the scene, I developed software. I was an MCSD, even. I learned BASIC in 1975 and began writing Visual Basic when the second version was released. Many VB programmers never made the leap to Object-Oriented Programming (OOP) supported by VB 4 (if memory serves), but I did. Modeling objects via classes made sense to me, and has served me well in the years since. It even led me to the concept of design patterns which have some application in data integration development with SSIS.
My goal was to produce a template that anyone could use as a starting point for creating a custom SSIS 2012 task using Visual Studio Express 2012 for Windows Desktop. In the installments that follow I will demonstrate one way to achieve this. For development, I am using a virtual machine running Windows 8 Pro 64-bit. I have installed SQL Server 2012 RTM and Visual Studio Express 2012 for Windows Desktop.
Tomorrow’s post: Creating a Custom SSIS 2012 Task – Getting Started