Click here to Skip to main content
12,064,498 members (52,693 online)
Click here to Skip to main content
Articles » Languages » C# » General » Downloads

Tagged as

Stats

75.6K views
3K downloads
56 bookmarked
Posted

Write ETL jobs in pure C#

, 29 Mar 2009 CPOL
An introduction to using Rhino ETL to avoid dealing with designers such as the ones in DTS/SSIS job creation.
SampleETLJob.zip
SampleETLJob
ConsoleApplication1
bin
Debug
Properties
LocalTestRun.testrunconfig
Reference
Boo.Lang.dll
FileHelpers.dll
log4net.dll
Rhino.Commons.Clr.dll
Rhino.Commons.dll
Rhino.Etl.Core.dll
SampleETLJob.vsmdi
SampleETLJob
bin
Debug
Boo.Lang.dll
FileHelpers.dll
log4net.dll
Rhino.Commons.Clr.dll
Rhino.Commons.dll
Rhino.Etl.Core.dll
SampleETLJob.exe
SampleETLJob.vshost.exe
WorkFolder
DataObjects
Operations
Properties
Settings.settings
WorkFolder
Test
bin
Debug
Boo.Lang.dll
FileHelpers.dll
log4net.dll
Rhino.Commons.Clr.dll
Rhino.Commons.dll
Rhino.Etl.Core.dll
SampleData
SampleETLJob.exe
Test.dll
WorkFolder
Properties
SampleData
TestResults
Home_HOME 2009-03-29 12_24_01.trx
Home_HOME 2009-03-29 12_24_01
Out
Boo.Lang.dll
FileHelpers.dll
log4net.dll
Rhino.Commons.Clr.dll
Rhino.Commons.dll
Rhino.Etl.Core.dll
SampleETLJob.dll
test.dll
Home_HOME 2009-03-29 12_24_59.trx
Home_HOME 2009-03-29 12_24_59
Out
Boo.Lang.dll
FileHelpers.dll
log4net.dll
Rhino.Commons.Clr.dll
Rhino.Commons.dll
Rhino.Etl.Core.dll
SampleETLJob.dll
test.dll
Home_HOME 2009-03-29 12_26_50.trx
Home_HOME 2009-03-29 12_26_50
Out
Boo.Lang.dll
FileHelpers.dll
log4net.dll
Rhino.Commons.Clr.dll
Rhino.Commons.dll
Rhino.Etl.Core.dll
SampleData
SampleETLJob.dll
test.dll
Home_HOME 2009-03-29 12_27_06.trx
Home_HOME 2009-03-29 12_27_06
Out
Boo.Lang.dll
FileHelpers.dll
log4net.dll
Rhino.Commons.Clr.dll
Rhino.Commons.dll
Rhino.Etl.Core.dll
SampleETLJob.dll
test.dll
Home_HOME 2009-03-29 12_27_24.trx
Home_HOME 2009-03-29 12_27_24
Out
Boo.Lang.dll
FileHelpers.dll
log4net.dll
Rhino.Commons.Clr.dll
Rhino.Commons.dll
Rhino.Etl.Core.dll
SampleData
SampleETLJob.dll
test.dll
Home_HOME 2009-03-29 12_27_48.trx
Home_HOME 2009-03-29 12_27_48
Out
Boo.Lang.dll
FileHelpers.dll
log4net.dll
Rhino.Commons.Clr.dll
Rhino.Commons.dll
Rhino.Etl.Core.dll
SampleData
SampleETLJob.dll
test.dll
Home_HOME 2009-03-29 12_28_07.trx
Home_HOME 2009-03-29 12_28_07
Out
Boo.Lang.dll
FileHelpers.dll
log4net.dll
Rhino.Commons.Clr.dll
Rhino.Commons.dll
Rhino.Etl.Core.dll
SampleData
SampleETLJob.dll
test.dll
Home_HOME 2009-03-29 12_28_28.trx
Home_HOME 2009-03-29 12_28_28
Out
Boo.Lang.dll
FileHelpers.dll
log4net.dll
Rhino.Commons.Clr.dll
Rhino.Commons.dll
Rhino.Etl.Core.dll
SampleData
SampleETLJob.dll
test.dll
Home_HOME 2009-03-29 12_42_11.trx
Home_HOME 2009-03-29 12_42_11
Out
Boo.Lang.dll
FileHelpers.dll
log4net.dll
Rhino.Commons.Clr.dll
Rhino.Commons.dll
Rhino.Etl.Core.dll
SampleData
SampleETLJob.dll
test.dll
Home_HOME 2009-03-29 13_02_16.trx
Home_HOME 2009-03-29 13_02_16
Out
Boo.Lang.dll
FileHelpers.dll
log4net.dll
Rhino.Commons.Clr.dll
Rhino.Commons.dll
Rhino.Etl.Core.dll
SampleData
SampleETLJob.exe
test.dll
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using FileHelpers;

using Rhino.Etl.Core.Files;
using Rhino.Etl.Core.Operations;
using Rhino.Etl.Core;
using SampleETLJob.DataObjects;
using System.IO;

namespace SampleETLJob.Operations
{
    public class UserFullWrite : AbstractOperation
    {
        public UserFullWrite(string filePath)
        {
            this.filePath = filePath;
        }

        string filePath = null;

        public override IEnumerable<Row> Execute(IEnumerable<Row> rows)
        {
            FluentFile engine = FluentFile.For<UserFullRecord>();
            engine.HeaderText = "Id\tName\tAddress";
            using (FileEngine file = engine.To(filePath))
            {
                foreach (Row row in rows)
                {
                    file.Write(row.ToObject<UserFullRecord>());

                    //pass through rows if needed for another later operation 
                    yield return row;
                }
            }

        }
    }
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

Paul B.
United States United States
I've been a software developer since 1996 and have enjoyed C# since 2003. I have a Bachelor's degree in Computer Science and for some reason, a Master's degree in Business Administration. I currently do software development contracting/consulting.

You may also be interested in...

| Advertise | Privacy | Terms of Use | Mobile
Web02 | 2.8.160204.4 | Last Updated 29 Mar 2009
Article Copyright 2009 by Paul B.
Everything else Copyright © CodeProject, 1999-2016
Layout: fixed | fluid