add key="CustA\Northwind\Connection" value="Data Source=GMI160\SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=True" add key="CustA\Northwind\DataAccessClass" value="DataAccessSql" add key="CustB\Northwind\Connection" value="Provider=vfpoledb.1;Data Source=C:\Program Files\Mere Mortals .NET Framework 2008\Samples\VFPData\northwind.dbc" add key="CustB\Northwind\DataAccessClass" value="DataAccessOleDb"...and here is the stack trace:
at System.Data.Common.DbConnectionOptions.ParseInternal(Hashtable parsetable, String connectionString, Boolean buildChain, Hashtable synonyms, Boolean firstKey) at System.Data.Common.DbConnectionOptions..ctor(String connectionString, Hashtable synonyms, Boolean useOdbcRules) at System.Data.SqlClient.SqlConnectionString..ctor(String connectionString) at System.Data.SqlClient.SqlConnectionFactory.CreateConnectionOptions(String connectionString, DbConnectionOptions previous) at System.Data.ProviderBase.DbConnectionFactory.GetConnectionPoolGroup(String connectionString, DbConnectionPoolGroupOptions poolOptions, DbConnectionOptions& userConnectionOptions) at System.Data.SqlClient.SqlConnection.ConnectionString_Set(String value) at System.Data.SqlClient.SqlConnection.set_ConnectionString(String value) at System.Data.SqlClient.SqlConnection..ctor(String connectionString) at OakLeaf.MM.Main.Data.mmDataAccessSql.CreateSqlConnection() at OakLeaf.MM.Main.Data.mmDataAccessSql.OpenSqlConnection() at OakLeaf.MM.Main.Data.mmDataAccessSql.OpenConnection() at OakLeaf.MM.Main.Data.mmDataAccessBase.ExecScalar(IDbCommand command) at OakLeaf.MM.Main.Data.mmDataAccessBase.ExecScalar(String command, IDbDataParameter[] dataParams) at OakLeaf.MM.Main.Data.mmDataAccessBase.ExecScalar(String command) at OakLeaf.MM.Main.Data.mmDataAccessSql.get_DatabaseVersion() at OakLeaf.MM.Main.Data.mmDataAccessSql.GetEmptyDataSetBySproc(DataSet ds, String tableName, String schema, String sprocName, DataTable sprocParamsTable) at OakLeaf.MM.Main.Data.mmDataAccessSql.GetEmptyDataSetBySproc(DataSet ds, String tableName, String schema, String sprocName) at OakLeaf.MM.Main.Business.mmBusinessObject.GetEmptyDataTable(DataSet& ds, String tableName, mmDataAccessBase dao) at OakLeaf.MM.Main.Business.mmBusinessObject.GetEmptyDataSet(DataSet ds, String tableName, String databaseKey) at OakLeaf.MM.Main.Business.mmBusinessObject.GetEmptyDataSet(String tableName, String databaseKey) at OakLeaf.MM.Main.Business.mmBusinessObject.GetEmptyDataSet(String tableName) at OakLeaf.MM.Main.Business.mmBusinessObject.GetEmptyDataSet() at OakLeaf.MM.NorthwindSample.CustomerOrdersForm..ctor() in C:\Program Files\Mere Mortals .NET Framework 2008\Samples\MM Northwind Sample Application_CSharp\CustomerOrdersForm.cs:line 53 at OakLeaf.MM.NorthwindSample.Main.Windows.Forms.MainForm.CustomerOrdersBar_Click(Object sender, EventArgs e) in C:\Program Files\Mere Mortals .NET Framework 2008\Samples\MM Northwind Sample Application_CSharp\MainForm.cs:line 68 at System.EventHandler.Invoke(Object sender, EventArgs e) at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e) at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e) at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e) at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e) at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met) at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met) at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea) at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea) at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ScrollableControl.WndProc(Message& m) at System.Windows.Forms.ToolStrip.WndProc(Message& m) at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg) at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData) at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context) at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context) at System.Windows.Forms.Application.Run(Form mainForm) at OakLeaf.MM.NorthwindSample.Main.AppMainEntry.Main() in C:\Program Files\Mere Mortals .NET Framework 2008\Samples\MM Northwind Sample Application_CSharp\Main.cs:line 77