Как уже было сказано, ODBC - это API и уровень абстракции, а не часть программного обеспечения как таковая.
Однако предыдущий ответ подразумевает, что драйверы ODBC поставляются только от поставщиков баз данных, и это неточно. Существует множество сторонних источников драйверов ODBC, включая моего собственного работодателя.
Некоторые поставщики баз данных включают драйверы ODBC со своими механизмами в качестве «элементов-флажков», поэтому они могут требовать поддержки ODBC, но эти встроенные драйверы являются минимальными реализациями и / или каким-то образом поврежденными, чтобы поощрять разработку «родных» приложений как «улучшенный» вариант. Действительно, драйверы ODBC от поставщиков баз данных часто работают намного хуже, чем драйверы ODBC от сторонних производителей, причем оба намеренно (поскольку, если клиентские приложения базы данных записываются в собственный API базы данных, их пользователи привязываются к этому ядру базы данных) и без него (многие поставщики баз данных просто недостаточно понимают нюансы API ODBC, не зависящего от базы данных, чтобы правильно сопоставить его со своим «родным» API для конкретной базы данных). Такая блокировка на самом деле не отвечает долгосрочным интересам поставщика баз данных (на самом деле они были основными участниками первоначальной разработки ODBC), но краткосрочные бизнес-цели иногда имеют приоритет над долгосрочным видением.
Мой работодатель, OpenLink Software, давно осознал необходимость сравнения производительности различных баз данных, драйверов ODBC, операционных систем и атрибутов подключения DSN и создал утилиту тестирования с открытым исходным кодом OpenLink ODBC Bench. Этот инструмент является кроссплатформенным и имитирует тестирование TPC-A и TPC-C в вашей среде, чтобы определить, какие компоненты лучше всего соответствуют вашим потребностям. Как проект с открытым исходным кодом, все тесты могут быть проверены на предмет отсутствия перекосов в любом направлении, а также могут быть расширены и адаптированы по мере необходимости для вашего конкретного развертывания.
Конечно, все это игнорирует вопрос о том, почему вы бы использовали драйвер ODBC из .NET (который требует использования мостового провайдера ADO.NET для источников данных ODBC и, следовательно, дополнительного перевода API для двойной абстракции). вместо прямого доступа к провайдеру ADO.NET для MySQL ...