using $db->dbh as a setter isn't documented, but this approach sounds reasonable if i can get it to work.
Whoops, yeah, I'll go document that now. Anyway, as you discovered, you have to register at least one data source to instantiate a Rose::DB object. You don't actually have to provide all the information that you did, however. In most cases, just specifying a driver will work.