You can wrap each call to the database with a web service.
Some people think this is more Service-Oriented-Architecture (SOA).
Question – do other programs need to share the same data access logic?
Disadvantage is extra code you have to write. Advantage is you don’t depend on the SQL adapter, and can more easily switch data stores.
You can also use a Data Access Layer approach, where you call C# static functions from within the \”Expression\” shapes in your orchestration.
Stored Procs of course provide one level of abstraction from the physical database. I would at least suggest calling stored proc rather than actual SQL commands.
Neal Walters
http://Biztalk-Training.com