<add key="MYOB\DataAccessClass" value="DataAccessOldDb" />(Look closely!)
switch (dataAccessClassName) { .... case "dataaccesssql": default: dao = new mmDataAccessSql(); }Expect something like...
.... case "dataaccesssql": case String.Empty: dao = new mmDataAccessSql(); break; default: throw new ErrorInConfigFileException( "Don't understand class.." );Also while I think of it, seems strange that this code is in mmBusinessObject, might be sensible to delegate this to mmAppBase.Factory.CreateDataAccessObject(classname) which would theoretically enable bizobj layer to be database-independent, if I were to implement say CreateDataAccessPostgres() in the factory class - although in practice don't know how often that would be achieved!
The .Net Framework Data Provider for OLEDB (System.Data.OleDb) does not support the Microsoft OLE DB Provider for ODBC Drivers (MSDASQL). Use the .Net Framework Data Provider for ODBC (System.Data.Odbc).So I'm going to have to implement a DataAccessOdbc class and override ABusinessObject.CreateDataAccessObject() anyway ...