Различия между OTL и SOCI

В чем преимущества и недостатки библиотек баз данных С++ OTL и SOCI? В частности, какие различия имеют значение для моего проекта, база данных которого использует SQL Server 2008?

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

Ответы

Ответ 1

Несколько лет назад я сравнил их обоих и решил пойти с Soci для проекта, используя как серверный сервер ODBC, так и Sqlite. В то время как Soci, так и OTL, казалось, активно поддерживались, но у Soci был более удобный интерфейс. Я не использовал OTL с тех пор, но я использовал Soci много в проекте среднего размера.

У меня было несколько неожиданных проблем с Soci, таких как ограничения на длину строк (версия 3.0 с 2008 года). Главная проблема с Соки заключается в том, что он не очень активно поддерживается. В период с 2008 по 2011 год обновлений не было, поэтому за эти годы мне пришлось писать обходные пути, исправлять код самостоятельно или использовать экспериментальные материалы из репозитория. Из-за этого отсутствия обновлений я решил переехать в OTL, но пока не сделал этого. Я предпочитаю опрятность Soci над OTL, но активное сохранение кода более важно в долгосрочной перспективе.

Я еще не пробовал новый выпуск Soci (2011-10-11), но я был бы очень рад, если бы решил некоторые из моих предыдущих выпусков. Soci - отличная библиотека db, и я хотел бы, чтобы она получила еще больше любви и внимания.

Итак, короче. OTL может быть более безопасным, поскольку он, кажется, более часто обновляется (но я не использовал его, поэтому не могу сказать точно). Soci "лучше", если ваш вкус похож на мой, и он идеально подходит. Я бы определенно использовал его снова для небольшого проекта, но, возможно, не для большого проекта из-за ограниченного обслуживания.

EDIT: Я просто попробовал новый выпуск Soci 3.1, и они исправили проблемы с длинными строками в бэкэнде odbc. Я думаю, что буду придерживаться Соки немного дольше.