SSIS

EzApi - Define flat file columns from connection string

So what’s new? Thanks to the contribution via GitHub from Hadi Fadl there’s a new method available for the flat file connection manager that adds the existing columns in the source file. This is very handy because in the past you would have to define each and every column that existed in the flat file. I’ve updated the nuget to version 0.8.93. Please give me your feedback of anything you might think should be improved.

EzApi - Adding Event Handlers

How to add event handlers to generated packages I had a request to give an example of adding event handlers to a generated SSIS package. The code is quite convoluted. There’s no method to initialize a DtsEventHandler, you need to cast it after adding to the package with a String describing the type of event. Here’s a list of the available events: Here’s a sample of how to do insert a ExecuteSQLTask to a event handler using a small console application:

EzApi 0.8.92

New Release 0.9.82 My small contribution for the BI world has been this SSIS generation framework resurrection. Amazingly it has almost 1500 downloads @NuGet. We are using this @DevScope for creating our SSIS packages based on metadata and it’s on production on some of our clients. We can see the rest of the details at the project repository. The Future I finally managed to move to a new house and I will have (hopefully) more time to write on the blog and to continue to work on this side project.

Using Powershell to read and modify SSIS packages

Introduction In these days developing in SSIS, you should be using a generation framework (BIML or EzApi. The benefits era a bit obvious: Your packages will have consistent layout and logic It’s easy and fast to apply the same change to all packages No more mouse programming (almost :)) It’s the right way to do metadata driven ETL The problem In a client I had a project with 97 packages.

How to access SFTP with SSIS using SSH.NET

Introduction For the ones unware of SFTP (SSH File Transfer Protocol), it is a secure channel with SSH2 encryption established between two machines. You can think of it as FTP with encryption and a few more differences. For more information about this you can read this blog post. There are some alternatives to get this done, ones paid and others free. I will focus on the use of the excellent SSH.