Solved

Sql Server 2008 SSIS c# packages

Posted on 2009-04-08
4
1,179 Views
Last Modified: 2013-11-10
I'm new to the Microsoft development world (*nix background) and especially green to the C# language. My new job is a Microsoft shop and I have to write these SSIS packages on a SQL Server 2008 installation. I'm writing packages that use a table to obtain their configuration values such as source database, destination database, destination flat file names, etc... That way packages get shared and it cuts down on the redundant packages.

Anyway long story short, I have some proprietary "cleanup" algorithms I've written and each of the shared packages need, such as validating a date range, integers, floating points, string cleanup, etc.... Instead of copying/pasting these methods into every class, I'd like to be able to write these cleanup routines into a separate class and separate file and "include" them into the shared packages so the code is in one centralized location. How would I do that and can you post a code example of how I would include a use one of the 'included' methods? I've posted a pseudo-code example of what I had in mind.
//external library
 
public class nefec_packageValidation {
      public function isValidDateRange(arg1, arg2) {
            /*
                  code here, return boolean
            */
      }
 
      public function isValidFloat(arg1) {
            /*
                  code here, return boolean
            */
      }
}
 
 
//SSIS package Script Component to validate a 'row'
include externalLibrary
 
public override void Input0_ProcessInputRow(Input0Buffer Row){
      Row.column1 = (nefec_packageValidation.isValidFloat(Row.column1) == true) ? Row.column1 : null;
}

Open in new window

0
Comment
Question by:MMDeveloper
  • 3
4 Comments
 
LVL 29

Expert Comment

by:Gautham Janardhan
ID: 24097198
u can create these methods in a class and then inherit that calss for all the other classes
public class CommonMethods
{
public void MethodA(){}
public void MethodB(){}
public void MethodC(){}
}
 
public class Package1:CommonMethods
{}
public class Package2:CommonMethods
{}

Open in new window

0
 
LVL 29

Accepted Solution

by:
Gautham Janardhan earned 500 total points
ID: 24097242
or make those methods static and then call those methods in the specified class
namespace a
{
public class CommonMethods
{
public static bool isValidFloat(){}
public static void MethodB(){}
public static void MethodC(){}
}
 }
using a;
 
public class Package1
{
public override void Input0_ProcessInputRow(Input0Buffer Row)
{
      Row.column1 = (nefec_packageValidation.isValidFloat(Row.column1) == true) 
}

Open in new window

0
 
LVL 15

Author Comment

by:MMDeveloper
ID: 24099850
ok but where would I save the .cs file that has the namespace code in it? This code is being shared amongst several independent packages and projects/solutions (all on the same box). I would assume that in order to do the "using a", that the "a" namespace would have to be saved in a special location
0
 
LVL 29

Expert Comment

by:Gautham Janardhan
ID: 24104251
u shud make that into a dll and then refer that dll wherever u want to use it
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Slowly Changing Dimension Transformation component in data task flow is very useful for us to manage and control how data changes in SSIS.
The article shows the basic steps of integrating an HTML theme template into an ASP.NET MVC project
Viewers will learn how to use the INSERT statement to insert data into their tables. It will also introduce the NULL statement, to show them what happens when no value is giving for any given column.
Viewers will learn how to use the SELECT statement in SQL to return specific rows and columns, with various degrees of sorting and limits in place.

830 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question