Today I started working on a pipeline component that's going to be used to validate message content. The validation rules will be stored in BRE. Some of the rules will rely on data from a database. Before I started working on the pipeline component code, I wanted to get my BRE policy working.
The rules aren't too complicated, so I didn't expect it to take long to create and test them out. However I ran into an error I'd never seen before as soon as I tried to add some database facts to the rules.

As it turns out, the Business Rules Composer is not able to deal with schemas other than dbo. Since none of my tables are using the dbo schema, I thought back to a couple of weeks ago when I was dealing with BRE and Oracle data. To get around this limitation, all I did was create a temporary database with a table that matched the structure and name of the table I wanted to use in my rules. I made sure that this new table was in the dbo schema. Once I created the new table, I browsed to it in the Database explorer in BRC, changed the database binding to Data table/Data row and changed the Dataset name from the name of my temporary database to the name of the actual database that I'd use at runtime.
When you create your TypedDataTable and assert it into the rules engine, whether by an IFactCreator, from an orchestration or from some .Net code, you just need to make sure your DataTable and DataSet name match whatever you used when you create your rules in the BRC. Since DataSets and DataTables are unaware of SQL Server schema names, your rules will execute just fine.