Библиотеки доступа к базам данных для C ++ - PullRequest
8 голосов
/ 13 января 2009

Справочная информация:

У меня есть приложение, написанное на нативном C ++, которое использует библиотеку доступа к базе данных wxODBC из набора wxWidgets, которая удаляет из всех будущих версий wxWidgets. Мне нужно заменить это другим методом доступа к базе данных, который поддерживает предположения и ограничения, изложенные ниже. Я не требую, чтобы при замене использовались собственные API-интерфейсы СУБД или ODBC под капотом, но это должно соответствовать ограничениям, изложенным ниже.

Предположение / Ограничения

Библиотека должна:

  • Поддержка Native (т.е. неуправляемый) C ++
  • 32-битная Windows 2000 / XP / 2003
  • Visual Studio 2005
  • Microsoft SQL Server 2000 и 2005
  • Oracle 9 и 10
  • Производительность во время выполнения больше или равна wxODBC
  • API для одного программиста, поддерживающий несколько СУБД (например, не хочет писать другой код для использования разных СУБД)

Хорошо, но по желанию:

  • 64-битные операционные системы Windows
  • 32-битные и / или 64-битные операционные системы Linux
  • Microsoft SQL Server 2008
  • Oracle 11
  • MySQL
  • Любые дополнительные СУБД
  • Visual Studio 2008
  • Открытый исходный код
  • Производительность во время выполнения, близкая или равная собственному API СУБД

Вопрос:

Какие хорошие библиотеки доступны - бесплатные, с открытым исходным кодом или платные - которые поддерживают несколько СУБД из одного API, включая Oracle и Microsoft SQL Server, и могут использоваться из собственного C ++?

Пожалуйста, опишите любой прошлый опыт, который у вас был - хороший ИЛИ плохой - с данной библиотекой и почему вы даете свои рекомендации за или против данной библиотеки, особенно в отношении вышеизложенных допущений и ограничений.

Смотрите также:

https://stackoverflow.com/questions/74141/good-orm-for-c-solutions

Ответы [ 5 ]

5 голосов
/ 13 января 2009

Я использую SQLAPI ++. Стоит посмотреть.

http://www.sqlapi.com/

3 голосов
/ 10 октября 2010

Вы можете использовать SOCI http://soci.sourceforge.net или также Wt :: Dbo, http://www.webtoolkit.eu и посмотреть на компонент Wt :: Dbo.

2 голосов
/ 15 ноября 2009

Qt также опция. Он поддерживает соединения с необходимыми вам серверами и довольно прост в использовании.

http://doc.trolltech.com/4.4/sql-driver.html#supported-databases

При использовании Qt вам не нужно строить против всех Qt. Например, вы можете просто использовать часть SQL и оставить всю часть GUI снаружи.

Поскольку он был недавно выпущен LGPL, вы также можете использовать его для проприетарного приложения.

2 голосов
/ 15 ноября 2009

Вы можете проверить Debea - Доступ к базе данных SQL и ORM для C ++. Он имеет встроенный API для wxWidgets.

2 голосов
/ 13 января 2009

Библиотека http://otl.sourceforge.net/

Мой работодатель использовал его.

Я не могу сказать вам, как его производительность сравнивается с wxODBC, но он может соответствовать вашим требованиям.

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