LINUX.ORG.RU

Библиотеки для работы c реляционными БД в C++?

 ,


1

5

Добрый день.

Уверен, что многие С++ разработчики сталкивались с необходимостью работать с реляционными БД (Oracle, MSSQL, Postgres, MySQL и т.д.). Хотелось бы узнать про ваш опыт работы с БД в реальных проектах. Какие библиотеки (или иные инструменты) вы использовали для работы РСУБД?



Последнее исправление: cetjs2 (всего исправлений: 3)

Сам я использовал вот что:

kola
() автор топика

MSSQL

Только из C# стандартными средствами, как описано на страничках MSDN. C C++ использовал SQLite в качестве встраиваемой СУБД. А вообще всё это фигня полная и не представляет особых проблем. Гораздо важнее нормально составить саму базу, решить с разбиением на таблицы и приведением к какой-либо нормальной или не нормальной (знаю, когда базу специально от нормальной формы приводили к ненормальной для повышения производительности) форме.
PS
MySQL и Postgres юзал через PHP (но только на потыкать, самый простенький проектик).
PPS
А в качестве средств для работы с самой базой использовал:

  • Ручку и бумагу (самый удобный инструмент если база не шибко большая и можно изобразить её на одном большом листе)
  • SSMS
  • PowerBuilder (хотя давно это было, полностью не уверен, может какой-то другой продукт от Sybase)
peregrine ★★★★★
()

libpq юзал для PostgreSQL. Ну норм в целом. Особых косяков не заметил, доки хорошие. А обернуть C вызовы в свой класс не проблема.

P.S. Если надо разрабатывать базу, то спокойно делаю это в текстовом редакторе. Если же надо какие-то более сложные вещи делать (например, разгребать дамп складированный в базу и превращать его в полезные данные, то юзать IntelliJ IDEA с их плагином).

Norgat ★★★★★
()
Последнее исправление: Norgat (всего исправлений: 1)

PostgreSQL

libpqxx работает, полет нормальный.

drsm ★★
()

Oracle

Pro*C/C++ этот шлак для оракула называется. Не то чтобы совсем мрак, но вспоминать не очень приятно. Informix ESQL/C - аналогичный велосипед для информикса. Всё это тяжелое legacy, поэтому смотреть в эту сторону лучше не надо.

asaw ★★★★★
()

pqxx

Еще монговские приходилось юзать, и опакечивать для себя же, что досадно.

BruteForce ★★★
()
Последнее исправление: BruteForce (всего исправлений: 1)

wt dbo

ну, и «родные» клиентские либы, конечно. куда ж без них.

conalex ★★★
()
Последнее исправление: conalex (всего исправлений: 1)

Я пользовался QtSql и нативными сишными клиентами для MySQL и PostgreSQL. Самый приятный API у PostgreSQL-клиента, но у него неудобный в администрировании сервер. У MySQL API какое-то немного шизофреническое (например, при работе с prepared statements нужно угадывать, сколько строк вернёт запрос), но, наверно, при использовании хотя бы Connector C++ это уже не важно. С Qt работать приятно, но у них есть некоторые особенности с тредами, именами соединений и транзакциями, пользоваться prepared statements не удобно.

vzzo ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.