有两个主要的开源平台独立实现的ODBC 。 这是iODBC和unixODBC 。
考虑到Unix作为ODBC用户平台和function,这两个实现之间真正的实际区别是什么?
就这样你知道我使用并贡献给unixODBC,我不使用iODBC。
unixODBC遵循MS ODBC驱动程序管理器并具有2个字节的UCS2编码的SQLWCHARs。 iODBC我相信使用wchar_t(这是基于试图支持DBD :: ODBC中的iODBC)
unixODBC有一个,我不认为iODBC有。
许多ODBC应用程序支持unixODBC,例如来自Oracle,IBM和SAP的OpenOffice和ODBC驱动程序。 我不确定iODBC。
iODBC一直是苹果公司将它包括在内的Mac上使用最多的(尽管我相信它已经从Lion中删除了)。 两者都可以从源代码构建,大多数Linux发行版都包装(尽管不是Novell / Suse,它只分发unixODBC)。
unixODBC是线程安全的,并包含用于保护不同级别的句柄的标志。 iODBC的情况并不是这样(但现在可能已经改变了)。
两个都有支持论坛(unixODBC有3个),虽然我会说unixODBC的更加活跃(我在两个)。
unixODBC是GPL和LGPL。 iODBC是LGPL / BSD
在实践中没有太大的区别,但我认为你会发现unixODBC更广泛的使用。