Каковы функциональные различия между iODBC и unixODBC?
Существует две основные независимые от Open Source версии ODBC. Это iODBC и unixODBC.
Рассматривая Unix как пользовательскую платформу ODBC и функционально, каковы реальные практические различия между этими двумя реализациями?
Ответ 1
Просто чтобы вы знали, что я использую и внесли вклад в unixODBC, и я не использую iODBC.
Поддержка Unicode
unixODBC следует за диспетчером драйверов MS ODBC и имеет SQLWCHAR как 2 байта UCS2.
iODBC, я считаю, использует wchar_t (это основано на попытке поддерживать iODBC в DBD:: ODBC)
библиотека курсоров
У unixODBC есть один, я не думаю, что у iODBC есть.
поддержка приложений
Многие приложения ODBC поддерживают unixODBC, например, OpenOffice и ODBC-драйверы от Oracle, IBM и SAP. Я не уверен в iODBC.
Поддержка ОС
iODBC всегда был самым популярным на Mac, поскольку Apple включила его (хотя я считаю, что он удален из Lion). Оба могут быть созданы из исходного и большинства пакетов дистрибутивов Linux (хотя и не Novell/Suse, который распространяет только unixODBC).
безопасность потока
unixODBC является потокобезопасным и включает флаги для защиты ручек на разных уровнях. Это не имело место с iODBC (но это могло измениться сейчас).
поддержка
У обоих есть форумы поддержки (у unixODBC есть 3), хотя я бы сказал, что unixODBC гораздо активнее (я нахожусь на обоих).
Лицензирование
unixODBC - это GPL и LGPL.
iODBC - это LGPL/BSD
На практике нет большой разницы, но я думаю, вы найдете, что unixODBC более широко используется.