Я думаю, что лучший вариант с разрозненными базами данных - попытаться объединить их в более новый стандарт. Может быть целесообразно использовать ORM, мне особенно нравится DevExpress 'XPO , так как вы фактически «кодируете» его почти «прозрачно» ... И он работает с МНОГО баз данных:
Access 2000, 2007 (Microsoft Jet), Сервер баз данных Advantage v9.1 +, DB2, Firebird 1.5+,
MySQL Server 4.1+, Oracle 9i, 10g, 11g, Pervasive.SQL 9+, PostgreSQL 7+, SQL Anywhere 11+, Sybase Adaptive Server 12+, SQLite 3, VistaDB 4 и все версии SQL Server ...
Вы можете попробовать ADO.NET с Entity Framework и использовать подход объектов POCO, чтобы вы могли лучше контролировать слой данных самостоятельно.
Опять же, я бы, конечно, попытался найти способ консолидации всех данных в современной базе данных. Если вам нужно, чтобы старое приложение работало над старой базой данных, попробуйте придумать процесс экспорта, чтобы реплицировать его данные в «запрашиваемая» современная база данных… Таким образом вы предотвратите потерю производительности у старого приложения, пытаясь конкурировать с веб-сайтом за одну и ту же унаследованную базу данных (параллелизм не был так хорошо обработан во многих устаревших базах данных). .) на самом деле иногда лучше всего иметь базу данных «отчет» (веб-сайты почти всегда похожи на слой отчета) отдельно от «основной» рабочей базы данных.
PS .: Извините за предложение решения, не зная вашей фактической проблемной области полностью ...