Вопрос

Фон:

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

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

Библиотека обязана:

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

Красиво, но необязательно:

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

Вопрос:

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

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

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

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

Это было полезно?

Решение

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

http://www.sqlapi.com/

Другие советы

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

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

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

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

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

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

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

При использовании Qt вам не нужно выполнять сборку на основе всего Qt.Например, вы можете просто использовать часть SQL и оставить всю часть графического интерфейса снаружи.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top