Ответ 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. Я думаю, что буду придерживаться Соки немного дольше.