Постоянные решения для C ++ (с базой данных SQL)? - PullRequest
8 голосов
/ 20 января 2009

Мне интересно, какие существуют решения для персистентности для C ++ с базой данных SQL? В дополнение к работе с пользовательским SQL (и инкапсуляции доступа к данным в DAO или чем-то подобном), существуют ли другие (более общие) решения?

Как некоторые общие библиотеки или фреймворки (что-то вроде Hibernate & co для Java и .NET) или что-то еще? (Что-то, о чем я даже не думал, также может быть предложено)

РЕДАКТИРОВАТЬ: Да, я искал больше для решения ORM или что-то похожее для обработки запросов SQL и отношений между таблицами и объектами, чем для самого движка БД. В любом случае, спасибо за все ответы!

Ответы [ 5 ]

7 голосов
/ 20 января 2009

SQLite великолепен: он быстрый, стабильный, проверенный, простой в использовании и интеграции.

Существует также Metakit , хотя кривая обучения немного крутая. Но я с успехом использовал его в профессиональном проекте.

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

Похоже, вы ищете какой-то ORM, чтобы вам не пришлось беспокоиться о написанном вручную коде SQL.

Здесь есть сообщение , в котором рассматриваются решения ORM для C ++.

Вы также не упомянули тип приложения, которое пишете, если это настольное приложение, мобильное приложение, серверное приложение.

Mobile. Лучше всего использовать SQLite в качестве движка базы данных, поскольку он может быть встроен и занимает мало места.

Настольное приложение: вам все же следует рассмотреть возможность использования SQLite здесь, но у вас также есть возможность с большинством настольных приложений иметь постоянное подключение к Интернету, и в этом случае вы можете предоставить сетевой сервер для этой задачи. Я предлагаю использовать Apache + MySQL + PHP и использовать облегченную ORM, такую ​​как Outlet ORM , а затем использовать стандартные HTTP-пост-вызовы для доступа к вашим ресурсам.

Серверное приложение: у вас есть еще много вариантов, но я все еще предлагаю использовать Apache + MySQL + PHP + ORM, потому что я считаю, что поддерживать этот слой на языке сценариев намного проще, чем в C ++.

1 голос
/ 20 мая 2009

SQLite + Hiberlite - хороший и перспективный проект. хотя надеюсь увидеть его более активно развивающимся. см. http: // code.google.com/p/hiberlite/

1 голос
/ 07 марта 2009

MySQL, Connector / C ++ - это реализация CD для JDBC 4.0

Клиентами, использующими MySQL Connector / C ++, являются: - OpenOffice - MySQL Workbench

Узнать больше: http://forums.mysql.com/read.php?167,221298

0 голосов
/ 21 января 2009

Я использую MYSQL или SQLite.

MYSQL: предоставляет серверную БД, к которой ваше приложение должно динамически подключаться.
SQLite: Предоставляет базу данных в памяти или файловой базе.

Использование БД в памяти полезно для быстрой разработки, поскольку настройка и настройка сервера БД только для одного проекта - большая задача. Но как только у вас есть запущенный сервер БД, подать на него в суд так же просто.

В памяти БД полезна для хранения небольших БД, таких как конфигурация и т. Д. Хотя для больших наборов данных сервер БД, вероятно, более практичен.

Скачать отсюда: http://dev.mysql.com/
Скачать отсюда: http://www.sqlite.org/

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