C++ ODBC cross-platform?

Добрый день, хабровчане, занимаюсь кроссплатформенной разработкой приложений, стараюсь делать их легковесными и из-за этого недавно перешел с Qt на wxWidgets. Проблема в том, что в последнем нет средств для работы с БД. (Совсем недавно прикрыли)

Я погуглил и нашел несколько вариантов:


1) Одна команда делает обособленно от wx team свою технологию для работы с Postgres. Так и назвали wxPostgres.

Проблема: Возможно в дальнейшем Postgres сменю на что-нибудь другое, и тогда придется переписывать проекты.


2) Найти кроссплатформенную библиотеку для С++ работы с ODBC.

Проблема: не знаю какую выбрать, чтоб была под 3 платформы (Windows, Linux, MAC OS X).


3) Использовать чистое ODBC API.

Проблема: долгий путь и «придется» писать собственные классы.


У кого есть в кроссплатформенном программировании, можете им поделиться? Заранее спасибо!
  • Вопрос задан
  • 3719 просмотров
Решения вопроса 1
ANtlord
@ANtlord Автор вопроса
Ладно, ответить придется самому.
Что у MySQL, что у Postgres есть некие библиотеки для работы с C++ (libmysqlclient и libpq++ соответственно). Думаю, аналогично они существуют и для остальных СУБД.

Пробовал пока только под Linux. Под Windows посложнее, но, думаю, все тоже решаемо.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Gorthauer87
@Gorthauer87
Программист
wxWidgets может и легковеснее, но работают они заметно тормознее, чем Qt, и почти не развиваются. Не вижу вообще смысла их использовать.
Ответ написан
hoxnox
@hoxnox
Под linux и windows я использую libodbc++ (см libodbcxx.sourceforge.net). Качество кода так себе, зато интерфейс максимально приближен к JDBC. На *nix (возможно и Mac — не знаю) в качестве реализации ODBC лучше использовать unixODBC (см. www.unixodbc.org). Тут можете посмотреть на пример использования и найти информацию о драйвере PostgreSQL.

Если будет время попробую написать пост на эту тему.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы