




Я бы рекомендовал по умолчанию использовать ODBC или OleDB. Нативные библиотеки действительно ограничивают вас, DAO - это неинтересно, не так много хороших сторонних ORM для C++ / Windows.
Одно - если скорость важна и ваш код не должен быть переносимым, то, возможно, стоит использовать собственные библиотеки.
Я мало что знаю о SQL Server, но знаю, что вызовы Oracle OCI быстрее, чем при использовании ODBC. Но они привязывают вас к версии SQL Oracle. Было бы разумно, если бы SQL Server был таким же.
Есть библиотека Данные POCO, которая поддерживает ODBC, MySQL и SQLite. Часть бесплатного открытого исходного кода Библиотеки POCO C++.
Хотя этому вопросу и ответам на него несколько лет, они по-прежнему ценны для таких людей, как я, которые путешествуют с ознакомительной поездкой. По этой причине я хотел бы добавить модуль QtSql фреймворка Qt C++ в качестве опции для подключения к базе данных.
Обратите внимание, что я знаком с Qt в целом, но не имею опыта работы с QtSql в частности.
Плюсы (всего несколько, которые также должны применяться, если вы просто выберете Qt для его модуля QtSql): Qt кроссплатформенный. По моему опыту, Qt хорошо спроектирован, довольно интуитивно понятен в использовании и очень хорошо документирован. Он существует уже давно, поддерживается активным сообществом и поддерживается Nokia, поэтому он не станет недоступным в одночасье. С 2009 года Qt находится под лицензией LGPL, так что это действительно бесплатный вариант даже для коммерческих приложений.
Минусы: Qt не маленький. Вы введете в свой проект новые типы, такие как QString. Qt находится под лицензией LGPL, поэтому вам необходимо подтвердить его использование даже в коммерческих приложениях.