Вы можете использовать модель провайдера и просто переключить, какой провайдер вы используете во время выполнения.
Конечно, самая большая проблема будет связана с поддержкой кода SQL. Поэтому вам нужно позаботиться о том, чтобы весь ваш SQL-код находился внутри каждого провайдера, и избегать какого-либо встраивания его в логику вашего приложения ... что вы должны делать в любом случае.
Другой способ - просто изменить источник данных ODBC во время развертывания, но, опять же, вам нужно убедиться, что код SQL действительно работает в обеих средах; что тяжело.
Как правило, поддержка нескольких баз данных является художественной формой сама по себе. Простых вещей, таких как SELECT TOP 100 для SQL Server 2k или команды LIMIT MySql, достаточно, чтобы не дать людям сделать это.
Нет реального способа «подделать» его, потому что серверы баз данных принципиально отличаются. В конечном итоге вы написали бы достаточное количество кода, просто чтобы перевести вызов sql с одного на другой ... Это пустая трата времени.
Я бы посоветовал вам просто откусить пулю и изучить MS SQL Server.
Этот сайт показывает очень простой пример того, как SQL Server, Oracle и MySql отличаются только одной реализацией оператора выбора.