Каковы функциональные различия между iODBC и unixODBC? - PullRequest
30 голосов
/ 26 сентября 2011

Существует две основные независимые от платформы Open Source реализации ODBC .Это iODBC и unixODBC .

Рассматривая Unix как пользовательскую платформу ODBC и функциональную, каковы реальные практические различия между этими двумя реализациями?

1 Ответ

35 голосов
/ 26 сентября 2011

Точно так же вы знаете, что я использую и внес вклад в 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 используется более широко.

...