Various Rhino Projects

Ayende Raihen has started the following Rhino projects

  • Rhino-ESB – Enterprise Service Bus
  • Rhino-ETL – Extract Transform Load
  • Rhino-Licensing – Licensing
  • Rhino-Security – Security
  • Rhino-DSL – Domain Specific Language
  • Rhino-Queues – In memory minimal configuration message queue
  • Rhino-Mocks – Mocking framework
  • Rhino-PHT – Persistent Hash Table
  • Rhino-DHT – Distributed Hash Table

I have been looking at Rhino-ETL and Rhino-DSL lately and should have a look at the others.

Rhino ETL Sample

Here is a quick sample that shows how to get rhino etl working.
It moves data from one database into another without any of the complex transforms.

Rhino.Etl.Cmd -c:database.config -f:CopyUser.boo -p CopyUser

=== database.config === Need to replace the [ with the expected angle brackets.

[configuration]
[connectionStrings]
[add name=”source” connectionString=”Data Source=DATABASE_SERVER1;Initial Catalog=databaseName;User=username;Password=password;” providerName=”System.Data.SqlClient.SqlConnection, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″ /]
[add name=”target” connectionString=”Data Source=DATABASE_SERVER2;Initial Catalog=databaseName2;User=username;Password=password;” providerName=”System.Data.SqlClient.SqlConnection, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″ /]
[/connectionStrings]

[/configuration]

=== CopyUser.boo === Need to replace [TAB] with tabs

process CopyUser:
[TAB]input “source”, Command = “SELECT strUserID, strParamGroup, strName, strValue from tblParameter where strUserID = ‘FRED'”
[TAB]output “target”, Command = “””
INSERT INTO tblParameter (strUserID, strParamGroup, strName, strValue)
VALUES (‘JOE’, @strParamGroup, @strName, @strValue)
“””

Remember that boo is a tab sensitive.