Каковы функциональные различия между iODBC и unixODBC?
2 ответа
Просто чтобы вы знали, что я использую и внес вклад в unixODBC, а я не использую iODBC.
Поддержка юникода
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 более широко используется.
Я наконец нашел время ...
Для более подробного сравнения и более интересной и подробной таблицы см. Эту таблицу.
Эта таблица основана на iODBC 3.52.14 по состоянию на февраль 2021 г. и unixODBC 2.3.9 по состоянию на сентябрь 2020 г.
Примечания
Расширенные символы Unicode a / k / a
- iODBC поддерживает и выполняет перевод между всеми UCS-2, UCS-4, UTF-8, UTF-16, UTF-32
- unixODBC следует за MDAC, и
SQLWCHAR
s - 2 байта в кодировке UCS2
Блокировка SDK
- iODBC поддерживает приложения и драйверы, разработанные с использованием unixODBC SDK и DataDirect SDK, а также разработанные с использованием iODBC SDK
- unixODBC поддерживает только приложения и драйверы, разработанные с использованием unixODBC SDK