Если речь о драйверах доступа, то да их полно, начиная с отдельными как это было сделано у майкрософт ODBC, до встроенные в язык программирования (точнее предлагаемый фреймворк 'по умолчанию'). Например на php при использовании PDO или у той же java в JDBC достаточно указать в строке подключения к базе данных тип базы и настройки подключения и весь код будет работать с новой базой.
Но к сожалению разные базы данных могут работать несовместимым образом. Даже если закрыть глаза на DDL (sql запросы на создание и модификацию объектов базы данных) и закрыть глаза на наличие и стандарты встроенного языка для описания функций, триггеров, вьюх и прочего, и даже закрыть глаза на принципиальную возможность базы данных исполнять сложные запросы (например рекурсивные select), существуют такие особенности как например новые значения идентификаторов, есть базы данных где есть сиквенсы, и где их нет и вместо вызова соответствующих функций, новые идентификаторы заводятся автоматически (т.е. sql запрос в качестве значения по умолчанию берет новое) и их значение можно получить не до вызова insert а после, т.е. код кардинально другой... и это красиво не изменить, (но можно симулировать поведение сиквенс на основе таблиц, чего делать без особой на то необходимости настоятельно не рекомендуется).