Archive for November, 2008|Monthly archive page

Software Tools To Be Thankful For

In the spirit of today’s holiday, I figured I would run down a list of software tools that make an identity management implementation that much easier.

SSIS [Windows]
Whether it’s sanitizing, organizing, or just moving large amounts of data, this tool does it all and more.

Notepad++ [Windows]
This super text editor is a must have for anyone who does light or even heavy coding. One great feature that this editor offers is the ability to display text in different coding languages such as SQL or VB, which makes coding a whole lot easier on the eyes.

Grep [Linux]
A lean, mean, command line tool used to search for string patterns or regular expressions in text files. There’s no doubt that grep is one of the most powerful *nix commands in your command line arsenal.

VMware Server (or virtualization in general) [Linux, Mac, Windows]
Set up a virtual environment, do some testing, then blow it all away. Check out my thoughts on the new VMware Server 2.0.

Google
There’s a wealth of information out there on the web, especially code. When you’re on an implementation, the last thing you need eating up your time is having to reinvent the wheel. Google it!

Have any tools that you’re thankful for?

VMware Server 2.0: It’s Finally Here!

I’ve been anxiously watching and waiting for VMware’s update to their free server virtualization platform, VMware Server. Being someone who works in the tech industry (and being a self-professed techie) I rely on the ability to create a virtual environment for testing. Once I moved to linux as my primary OS, virtualization became even more important as there’s still software out there that I need which only runs on windows. Why use VMware Server? Why not VMware Player? The main reason is that unlike VMware Player, VMware Server can create virtual images out of the box. On top of that, VMware Server can keep those images running even after you log off of the host machine.

So a few notable updates you’ll find in VMware Server is that everything has been moved into a web browser. Instead of a console opening up when you run VMware, you actually connect to the service by pointing your browser to it. Even the virtual machine console runs in a browser window. Another nice feature is the handling of VMware image permissions. You can now easily manage and provision permissions to virtual machines via the updated administration dashboard.

screenshot-vmware-infrastructure-web-access-root127001-mozilla-firefox

screenshot-1

Overall, it’s a great update with a lot of nice new features. The only bug I’ve encountered so far (at least on a linux host) is an error when attempting to grant another user access to a virtual machine after another user has already been added. You’ll recieve the error “RuntimeFault: Database temporarily unavailable or has network problems.” Hopefully this will be ironed out in the next update. Until then, a work around can be found here.

VMware Server [You’ll need to register in order to download]

Failproofing Your SSIS Package

Here’s a script that you can add to your SSIS toolbelt. With this script, you can prevent an SSIS package from failing when it tries to import data from a flat file that isn’t there.

To start, we’ve got a simple package with a single Data Flow Task. If this package runs while the referenced flat file is missing, the package will fail.

img13

To take care of this potential problem, we’ll add a Script Task that will check to see if the import file is there before proceeding with the Data Flow Task. Note the name of the Flat File connection (“Input Text File”) that points to our import file.

img22

Here’s what’s inside the Script Task. We create a variable called filename, which we then assign the path to our import file by referencing the Flat File Connection in our package. The script then checks to see if the file is there.  If it is, the Script Task ends with a result of “Success” then continues on to the Data Flow Task, otherwise it will end with a result of “Failure”.

img33

Here’s the code for your ctrl+c pleasure:

    Public Sub Main()
        ' Get file name from the "Flat File" Connection
        Dim filename As String = Dts.Connections("Input Text File").ConnectionString
        ' Check if the named file exists
        If System.IO.File.Exists(filename) Then
            Dts.TaskResult = Dts.Results.Success
        Else
            Dts.TaskResult = Dts.Results.Failure
        End If
    End Sub

Now we can be sure that the package will not fail should our import file be missing for some reason. The error prevention of this package can be further enhanced by utilizing the “Failure” result of the Script Task and maybe adding a Send Email Task to send a notification that the import file is missing.

Hope this has been useful. Anybody have a different approach to solving this problem?