Solved

Create an SSIS package that executes c# code

Posted on 2008-10-22
9
830 Views
Last Modified: 2013-11-10
Greetings all

I am in the process of developing an SSIS package fro a client.  I have a table in the databse that needs to be validated before records are copied to various other tables. The validation is quite complex as is the error messaging that needs to accompany any errant records (stoed in another table).

My thoughts were too use c# for this - create a class, with a static method that is call from SSSIS. Is this possible? And if so, how does one go about this? If not, are there alternatives?

In advance, thanks!!
0
Comment
Question by:allanmark
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 4
9 Comments
 
LVL 22

Expert Comment

by:PedroCGD
ID: 22775267
Inside SSIS you have several ways to add C# code.
You have some script components in controlflow and dataflow.

You need those validations row by row? or a dataset?
Regards!
 
0
 
LVL 9

Expert Comment

by:Sander Stad
ID: 22775289
0
 

Author Comment

by:allanmark
ID: 22775325
Hi PedroCGD

The validation needs to be row by row.

A brief summary --> check if the branchId exists in BranchMaster - if not 1st error message = "Invalid Id". Check if the year is valid (various conditions) and if not, then add to the error message list, etc for the rest of the fields. When all fields ahve been checked, write out either an error or a "scrubbed" record.
0
 [eBook] Windows Nano Server

Download this FREE eBook and learn all you need to get started with Windows Nano Server, including deployment options, remote management
and troubleshooting tips and tricks

 
LVL 22

Accepted Solution

by:
PedroCGD earned 250 total points
ID: 22775367
you dont need c# code... you should use only the SSIS components.
Create a new SSIS project

Add a dataflow to you control flow
Open dataflow (by the tab section or double click in dataflow task)
Inside dataflow, add a OLE DB Source to get data from SQL Server
add a lookup transformation. Link source to this lookup  to check for existent branchId, if not exist you can redirect these rows to another transformation or destination
Add a condition split to make the conditions you need
add a destination do insert data in target.

helped?!
regards!

0
 

Author Comment

by:allanmark
ID: 22775438
Thanks!

I will most certainly give it a go this afternoon and will post back on the outcome.


allanmark
0
 
LVL 22

Expert Comment

by:PedroCGD
ID: 22775454
ok... keep in touch!
regards
0
 

Author Comment

by:allanmark
ID: 22775617
This is really cool!

I see that the "Conditional Split" has various categories of functions. I can't find anything to validate a month -- is numeric, is 1-12.

Have I missed something? or is this somethign one must work around?



allanmark
0
 
LVL 22

Expert Comment

by:PedroCGD
ID: 22775943
you have the MONTH() function and you have string functions to deal with that.
You also have the derived column transformation or if you have big complex transformation you can add a script to the dataflow as TRANSFORMATION.
You must play a little with SSIS... is simple and intuitive!
Regards
0
 

Author Closing Comment

by:allanmark
ID: 31508693
Apologies - forgot to close this one.

Answer was spot on; working like a charm!
0

Featured Post

10 Questions to Ask when Buying Backup Software

Choosing the right backup solution for your organization can be a daunting task. To make the selection process easier, ask solution providers these 10 key questions.

Question has a verified solution.

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

Why is this different from all of the other step by step guides?  Because I make a living as a DBA and not as a writer and I lived through this experience. Defining the name: When I talk to people they say different names on this subject stuff l…
This article explains how to reset the password of the sa account on a Microsoft SQL Server.  The steps in this article work in SQL 2005, 2008, 2008 R2, 2012, 2014 and 2016.
Via a live example combined with referencing Books Online, show some of the information that can be extracted from the Catalog Views in SQL Server.
Via a live example, show how to setup several different housekeeping processes for a SQL Server.

622 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