Различия между OTL и SOCI
Каковы преимущества и недостатки библиотек баз данных C++ OTL и SOCI? В частности, какие различия актуальны для моего проекта, чья база данных использует SQL Server 2008?
Я не использовал ни раньше, и во время своего проекта я не хочу менять библиотеку.
1 ответ
Пару лет назад я сравнил их обоих и решил пойти с Soci для проекта, использующего как Sql Server ODBC, так и Sqlite. В то время, как Soci, так и OTL, казалось, активно поддерживали, но у Soci был более приятный интерфейс. С тех пор я не использовал OTL, но я часто использовал Soci в проекте среднего размера.
У меня было несколько неожиданных проблем с Soci, таких как ограничение длины строк (версия 3.0 от 2008 года). Основная проблема с Soci заключается в том, что он не очень активно поддерживается. Между 2008 и 2011 годами не было обновлений, поэтому за эти годы мне пришлось писать обходные пути, исправлять код самостоятельно или использовать экспериментальные материалы из репозитория. Из-за отсутствия обновлений я подумал о переходе на OTL, но пока не сделал скачок. Я предпочитаю аккуратность Soci, а не OTL, но активная поддержка кода важнее в долгосрочной перспективе.
Я еще не пробовал новый выпуск Soci (2011-10-11), но был бы очень рад, если бы он решил некоторые из моих предыдущих проблем. Soci - отличная библиотека БД, и мне бы хотелось, чтобы она получила больше любви и внимания.
Итак, короче. OTL может быть более безопасной ставкой, так как кажется, что она обновляется чаще (но я не использовал ее, поэтому не могу сказать наверняка). Soci "приятнее", если ваш вкус такой же, как у меня, и он идеально подходит для использования. Я определенно использовал бы это снова для маленького проекта, но возможно не для большого проекта из-за ограниченного обслуживания.
РЕДАКТИРОВАТЬ: Я только что попробовал новую версию Soci 3.1, и они исправили проблемы с длинными строками в бэкэнде odbc. Я думаю, что останусь с Соци еще немного.