Слои абстракции базы данных для (Visual) C ++ - PullRequest
2 голосов
/ 08 сентября 2008

Какие существуют варианты доступа к различным базам данных из C ++? Иными словами, какие есть альтернативы ADO? Какие плюсы и минусы?

Ответы [ 4 ]

2 голосов
/ 08 сентября 2008
  1. Microsoft ODBC .
  2. Классы MFC ODBC, такие как CDatabase .
  3. OleDB (через COM).
  4. И вы всегда можете просмотреть собственные библиотеки СУБД (например, Собственная библиотека SQL Server )
  5. DAO (не).
  6. Сторонние поставщики ORM.

Я бы порекомендовал пройти через ODBC или OleDB по умолчанию. Собственные библиотеки действительно ограничивают вас, DAO неинтересна, отличных сторонних ORM для C ++ / Windows не так много.

1 голос
/ 18 мая 2012

Хотя этому вопросу и его ответам уже несколько лет, они по-прежнему ценны для таких людей, как я, которые путешествуют в ознакомительной поездке. По этой причине я хотел бы добавить модуль QtSql платформы Qt C ++ в качестве опции для подключения к базе данных.

Обратите внимание, что я знаком с Qt в целом, но не имею опыта работы с QtSql в частности.

Плюсы (только некоторые из них должны применяться, если вы просто выберите Qt для его модуля QtSql): Qt является кроссплатформенным. По моему опыту, Qt хорошо спроектирован, довольно интуитивно понятен и чрезвычайно хорошо документирован. Он существует уже давно, поддерживается активным сообществом и поддерживается Nokia, поэтому он не станет недоступным в течение ночи. С 2009 года Qt лицензируется в рамках LGPL, поэтому это реальный бесплатный вариант даже для коммерческих приложений.

Минусы: Qt не маленький. Вы будете вводить новые типы, такие как QString для вашего проекта. Qt лицензируется по лицензии LGPL, поэтому вам необходимо признать его использование даже в коммерческих приложениях.

0 голосов
/ 16 сентября 2008

Существует библиотека POCO Data , которая поддерживает ODBC, MySQL и SQLite. Часть бесплатного открытого источника POCO C ++ Библиотеки .

0 голосов
/ 08 сентября 2008

Одно - если скорость важна и ваш код не должен быть переносимым, то, возможно, стоит использовать нативные библиотеки.

Я не знаю много о SQL Server, но знаю, что вызовы Oracle OCI выполняются быстрее, чем при использовании ODBC. Но они привязывают вас к Oracle версии SQL. Было бы разумно, чтобы SQL Server был таким же образом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...