Rhino ETL & FileHelpers Integration
Well, this image really excites me. It excites me because I got this after integration FileHelpers into Rhino ETL. This image is the result of an ETL script that joined a file against a table, did some additional processing on it and push it to a table in a third database.
I must say that FileHelpers has made this ridiculously easy to do. All I have left to do is figure out how to test such a thing effectively.
For reference, here is the complete script:
[DelimitedRecord("\t")]
class Customers:
CustomerID as string
CompanyName as string
ContactName as string
ContactTitle as string
Address as string
City as string
Country as string
connection(
"DestinationDB",
ConnectionType: SqlConnection,
ConnectionString: "Data Source=localhost;Initial Catalog=ETL_Test; Integrated Security=SSPI;"
)
connection(
"Northwind",
ConnectionType: SqlConnection,
ConnectionString: "Data Source=localhost;Initial Catalog=Northwind; Integrated Security=SSPI;"
)
source CustomersFile:
execute:
for customer in Read(typeof(Customers)).From("""Files\CustomersTab.txt"""):
SendRow( Row(
CustomerId: customer.CustomerID,
CompanyName: customer.CompanyName,
ContactName: customer.ContactName
))
source OrdersFromDatabase, Connection="Northwind":
Command: "SELECT * FROM Orders"
join CustomersAndOrders:
if Left.CustomerID == Right.CustomerID:
Row.OrderID = Right.OrderID
Row.CompanyName = Left.CompanyName
Row.ContactName = Left.ContactName
destination Final, Connection="DestinationDB":
Command: "INSERT INTO OrdersWareHousing VALUES(@OrderID, @CompanyName,@ContactName)"
pipeline OrdersWareHouse:
CustomersFile >> CustomersAndOrders.Left
OrdersFromDatabase >> CustomersAndOrders.Right
CustomersAndOrders >> Final
target default:
Execute("OrdersWareHouse")