Showing posts with label Beginners. Show all posts
Showing posts with label Beginners. Show all posts

Wednesday, August 27, 2008

One More Reason to Attend

I've posted a few times already[1] about the SSWUG Business Intelligence vConference that I have been helping to organize. Well, the conference is now less than a month away, and there is more news to share:

We're giving away a copy of Microsoft Visual Studio Team System 2008 Team Suite with MSDN Premium to one lucky attendee.

That's right - the big one. This is the ultimate version of Microsoft's MSDN subscription, with a suggested retail price of $10,939. If you're a software developer or BI professional, this package has everything that you need to develop for the Microsoft platform, and then some.

If you'd like a chance to win this MSDN subscription, just register for the SSWUG Business Intelligence vConference. For just $100 you get:

So what are you waiting for? This vConference is going to be amazing, and we'd love to see you there!

[1] For example:

Thursday, May 29, 2008

Checking the Value of a Variable in SSIS

It's a pretty common debugging and diagnostic task to need to check the value of a variable. The SSIS designers in Visual Studio do provide a set of debugging tools, but sometimes it's quicker and easier to get "low tech" and get the variable value yourself.

Back in the bad old days of VB 6 we would do something like this:

MsgBox g_VariableName

Back in the worse old days of ASP we would do something like this:

Response.Write(strVariableName)

And today in SSIS we can do something like this:

    Public Sub Main()

        Dim variableName As String = "User::VarTest"

        Dim vars As Variables = Nothing

        Dts.VariableDispenser.LockForRead(variableName)

        Dts.VariableDispenser.GetVariables(vars)

        Dim variableValue As String = CType(vars(variableName).Value, String)

        vars.Unlock()

        System.Windows.Forms.MessageBox.Show( _

            String.Format("Variable Value is '{0}'", variableValue), _

            String.Format("Value for Variable '{0}'", variableName))

        Dts.TaskResult = Dts.Results.Success

    End Sub

And (assuming we have a variable named VarTest in our package) when we run the package we'll get something like this:

varvalue

Pretty simple, and it gets the job done. But there has to be a better way, right? No one wants an annoying modal dialog box popping up during package execution, even when they're developing and debugging. So you may want to do something like this instead:

    Public Sub Main()

        Dim variableName As String = "User::VarTest"

        Dim vars As Variables = Nothing

        Dts.VariableDispenser.LockForRead(variableName)
        Dts.VariableDispenser.GetVariables(vars)

        Dim variableValue As String = CType(vars(variableName).Value, String)

        vars.Unlock()

        Dts.Events.FireInformation(-1, "Test Script", String.Format( _
            "The value for variable {0} is '{1}'", variableName, variableValue), _
            String.Empty, -1, False)

        Dts.TaskResult = Dts.Results.Success

    End Sub

Now, when you run the package you will get something like this:

varvalue2

The output will be written to the Output window in Visual Studio and to any other log providers that you have configured to listen to information messages from the package.

Enjoy!

Wednesday, May 28, 2008

SSIS on RunAs Radio

My interview on the online radio show "RunAs Radio" is now online - check it out here: http://www.runasradio.com/

This is a short (36 minutes, including the opening and closing bits) show where Richard Campbell, Greg Hughes and I talk about SSIS for the IT Professional. Because many of the enhancements to SSIS tend to be developer-focused, I know many IT Pros who shy away from SSIS and cling irrationally[1] to the "good old days" of DTS. But I believe that with a little information about how SSIS works and how to use it, IT Pros everywhere will happily leave DTS behind and embrace the power and beauty of SSIS.

Well, perhaps I may be getting carried away, but the show is a lot of fun nonetheless. We covered topics ranging from architecture to development to deployment and had a pretty good time doing it. So be sure to download the show and check it out.

[1] Ok, so it may seem rational to them, but my memories of DTS are still fresh and painful in my mind. ;-)

Tuesday, March 4, 2008

New to SSIS? Start Here!

I must admit that I've been known to say some negative things about the SQL Server Integration Services documentation from time to time. But one part of the SSIS content in SQL Server Books Online is the "Creating a Simple ETL Package" tutorial. It is probably the single most valuable beginner's resource for working with SSIS, and yet so many people who need this information have never heard of it.

So what is it?

This five-part hands on tutorial provides an overview of the tools in Visual Studio for SSIS and the capabilities of the SSIS platform. It uses the AdventureWorks sample databases and a set of text files that are included with the Books Online install, and walks users through five lessons, each of which builds on the ones before:
  1. Creating the Project and Basic Package: Build an SSIS package that extracts data from a text file and loads it into a SQL Server table, complete with explanations not only of what to do but why you're doing it.
  2. Adding Looping: Update the package to loop through all of the flat files in a folder and load their data into the table.
  3. Adding Package Configurations: Add a package configuration (a very important technique to learn!) so that the path to the folder where the text files are stored can be updated outside of the package.
  4. Adding Logging: Update the package to log execution information to a text file.
  5. Adding Error Flow Redirection: Update the package to redirect "bad data" to a text file for later analysis.

Sounds great, doesn't it? While these techniques are covering only a small portion of what SSIS can do, they do cover a representative subset and give users much-needed familiarity and comfort with the SSIS tools in Visual Studio.

And best of all, while the text files used in the lessons are included in your local SQL Server installation, you can find the tutorial instructions on MSDN here: http://msdn2.microsoft.com/en-us/library/ms169917.aspx

Take an hour or two and go through these tutorials - you won't regret it!

Monday, September 3, 2007

Product Proliferation

Keeping track of Microsoft's products and the editions thereof can often be confusing. Microsoft is such a huge company with a sometimes disjointed marketing arm that can make navigating its product catalog an exercise in futility.[1] How do you know what to buy to get what you need?

I'm not going to try to answer that question. Instead, I'm going to ask a different but related question: How do you know what free product to download to get what you need?

That's right - Microsoft is giving away so much free stuff that figuring out what free stuff to take can be confusing.[2]

I've been looking at SQL Server Express Edition lately. As a database professional and MSDN subscriber I have never really paid much attention to the Express editions of the various Microsoft developer tools, but I've had reason to do so lately, and have been surprised (and a little confused) at what I've found. For example, did you know:
  • Microsoft gives away a free version of its powerful SQL Server relational database management system called SQL Server 2005 Express Edition? You probably did know this. I did.
  • Microsoft also gives away a free version with a scaled-down version of SQL Server Management Studio, SQL Server Reporting Services and full text search, called SQL Server 2005 Express Edition with Advanced Services? You may have know this. I think I did.
  • Microsoft also gives away, as a separate download, a set of tools called the SQL Server 2005 Express Edition Toolkit that only includes the client tools and a version of Business Intelligence Development Studio that can be used to develop and deploy reports for use with SQL Server 2005 Express Edition with Advanced Services? I had no idea.

Fortunately the fine people at Microsoft have published a SQL Server Express Edition Comparison online where you can learn the differences between all of the free SQL Server Express Edition things that they're giving away. This is all well and good, but it truly boggles my mind that it has to be this complicated to get stuff for free. Why is there no single installer that you can download once and then simply pick the features you need when you're installing the product?

Why indeed. Hopefully this product proliferation will be taken care of in SQL Server 2008, and we won't have any need for a comparison checklist of free things. And if not, maybe I'll finally learn to just appreciate what I have and stop looking at this horse's mouth quite so closely...

[1] With that said, when compared to navigating the Oracle product catalog, finding out what Microsoft product you need is a walk in the proverbial park, so things could always be worse...
[2] That's just weird.

Thursday, August 23, 2007

MSDN Beginner Developer Learning Center

I also considered these alternate titles:
  • Enough free beginner training to choke a rhino
  • Holy video training, Batman!
  • I've done up and polluted my sample, dag nub it all

My friend Kris is starting to go through the SQL Server video training I shared with him (and with you yesterday) and is more excited than ever. That's the good news. The bad news is that I let him know that I was using his journey of self-discovery[1] as blog fodder. So he's been sharing with me other goodies he's found related to beginning .NET development. That's the bad news. Once your experimental test subjects know that they're participating in an experiment at all, you've totally skewed[2] your tests results. Bah.

Not that this is an experiment, of course. [3]

Anyway, with help from Kris, I've found what is probably the best starting point for beginning developers who want to learn the Microsoft development platform: The MSDN Beginner Developer Learning Center. Here's what you get:

  1. The launch page, with a bunch of links: http://msdn.microsoft.com/vstudio/express/beginner/
  2. A "learning path" page that lists out all of the lessons, in order, for Windows and Web development paths: http://msdn.microsoft.com/vstudio/express/beginner/learningpath/
  3. Individual lesson overview pages, such as Introduction to CSS and Visual Web Developer Express Feature Tour and Handling Exceptions.
  4. Some of these lesson pages have PDF lessons to download. Some of them have videos to download or stream. Some have full lesson packages, including videos, transcripts, starter project files plus study guides and exercises.

Wow! Not only is the content available and free, it looks like some real thought has gone into its organization and planning. I've put together basic developer training paths in the past, but have never before seen a pre-built repository of learning resources like this available freely online.

Now let's see what Kris will do with it, while I try to think up another experiment...

[1] Before you can know code, you must know yourself, grasshopper. Or something like that.

[2] Or something that rhymes with skewed, anyway.

[3] Why doesn't HTML have a diabolicallaughter tag?

Wednesday, August 22, 2007

Starting Anew

I've been doing this software stuff for a long time. I started programming when I was eleven, which was longer ago than I care to admit, and have been building software on the Microsoft platform full time for well over ten years. One of the periodic revelations[1] that I've been having during this time is that "the more you learn, the more you realize you don't know."

This fact has been driven home lately in a new and different way. I have a friend[2] who is making a career change from IT help desk support to software development. He's got a good head on his shoulders, but this is a pretty big change, and he's got a long road ahead, so I've volunteered[3] to help him get up to speed on the big bad world of Visual Studio, SQL Server and .NET. [4]

So I've had two main thoughts going through my head for the last few days as this friend (let's call him Kris[5]) has been asking questions via IM. These thoughts are:

1) WTF was I thinking?
2) Wow! There are a lot of cool resources out there that I never looked at before!

I'm trying to focus on the second one. ;-)

Anyway, after you've been building software professionally for long enough[6], you pretty much stop looking at the 100- and 200-level introductory resources, and I have not been tracking all of the amazing things that Microsoft has been doing in this arena. I've started Kris looking at SQL Server (it is me after all - what did you expect?), and have found lots of great little gems that I'd never bothered to look at so far. The ones that have me smiling today are two series of free videos and webcasts that Microsoft has put together to help people get started:

1) Video Series: SQL Server 2005 Express Edition for Beginners: This is over seven hours worth of video training that starts with "what is a database?" and works its way through stored procedures and full text search, touching on web development, BI and security along the way.

2) Coding Basics: Use Visual Studio and SQL Server Express Editions: This is an insane number of 100- and 200-level webcasts covering web development, database development, game development and more.

Needless to say, Kris is both delighted and overwhelmed. And I am too - if there had been resources like these online back when I was learning programming... Well, since there wasn't really much of an internet back then and I was using either an NCR mainframe or an Atari 400, I guess it would not have done me much good . But you get the idea.

So... As Kris travels down this path of discovery (and I swear every time I see that blinking on the taskbar) I'll use this space to post new goodies that I find for beginners.

[1] No, don't look for Matthew's periodic table of revelations - these are just things that I keep realizing over and over again. It sucks to get old...
[2] Sort of the husband of a third cousin, once removed - something like that.
[3] Yes, you may start laughing at me now.
[4] Yes, please keep laughing. No need to stop.
[5] We'll call him this mainly because it is his name
[6] And after you stop teaching intro courses when the training market doesn't support half your regular daily consulting rate