boh*_*ica 36
只是因为你知道我使用并为unixODBC做出了贡献而且我没有使用iODBC.
unixODBC遵循MS ODBC驱动程序管理器,并将SQLWCHAR作为2字节UCS2编码.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被更广泛地使用.
我终于找到了一些时间来获得更完整的答案...(attn @mloskot - 如果您同意这个答案比另一个更准确和/或更完整,您可以更改您接受的答案)
\niODBC和unixOBDC基本上是等价的 API,都是 Microsoft ODBC 标准的跨平台实现。iODBC 灵活的 Unicode 支持包括 UCS-2、UTF-8、UCS-4。iODBC 库通过 Big Sur ( 11.2.x )捆绑到 macOS Panther ( 10.3.0 ),并且可以在 AIX、Solaris、HP-UX、任何 Linux 发行版、*BSD、其他类 Unix 操作系统上构建和/或安装, 和更多。iODBC 长期以来一直是线程安全的,并且由OpenLink Software(我的雇主)积极维护和支持。
\n下表涵盖了最常见的比较问题(有什么我应该添加的吗?),并且基于截至 2021 年 2 月的 iODBC 3.52.14(报告版本03.52.1421.0217)和截至 2020 年 9 月的 unixODBC 2.3.9。
有关更详细的比较以及更精美和详细的表格,请参阅此电子表格
\n| 特征 | ODBC | UnixODBC |
|---|---|---|
| 统一码支持 | ||
| \xc2\xa0 \xc2\xa0 UCS-2 | 是的 | 是的 |
| \xc2\xa0 \xc2\xa0 UCS-4(又称 UTF-32) | 是的 | 不 |
| \xc2\xa0 \xc2\xa0 UTF-08(又名 UTF-8) | 是的 | 不 |
| \xc2\xa0 \xc2\xa0 UTF-16 | 是的 | 是的 |
| \xc2\xa0 \xc2\xa0 UTF-32(又称 UCS-4) | 是的 | 不 |
支持使用其他 SDK 开发的驱动程序和应用程序 | ||
| \xc2\xa0 \xc2\xa0支持使用 iODBC SDK 开发的驱动程序 | 是的 | 不 |
| \xc2\xa0 \xc2\xa0支持使用 iODBC SDK 开发的应用程序 | 是的 | 不 |
| \xc2\xa0 \xc2\xa0支持使用 unixODBC SDK 开发的驱动程序 | 是的 | 是的 |
| \xc2\xa0 \xc2\xa0支持使用 unixODBC SDK 开发的应用程序 | 是的 | 是的 |
| \xc2\xa0 \xc2\xa0支持使用 DataDirect SDK 开发的驱动程序 | 是的 | 不 |
| \xc2\xa0 \xc2\xa0支持使用 DataDirect SDK 开发的应用程序 | 是的 | 不 |
| 操作系统默认DM | ||
| \xc2\xa0 \xc2\xa0 macOS | 是的 | 不 |
| \xc2\xa0 \xc2\xa0 Linux | 部分的 | 部分的 |
| \xc2\xa0 \xc2\xa0类 Unix | 部分的 | 部分的 |
| 操作系统支持 | ||
| \xc2\xa0 \xc2\xa0 macOS | 是的 | 部分的 |
| \xc2\xa0 \xc2\xa0 Linux | 是的 | 是的 |
| \xc2\xa0 \xc2\xa0类 Unix | 是的 | 是的 |
| 用户友好的本机 GUI 管理员 | ||
| \xc2\xa0 \xc2\xa0 macOS | 是的 | 基于Qt |
| \xc2\xa0 \xc2\xa0 Linux | 基于GTK和基于HTML | 基于Qt |
| \xc2\xa0 \xc2\xa0类 Unix | 基于GTK和基于HTML | 基于Qt |
| 线程安全 | 是的 | 是的 |
| 支持 | ||
| \xc2\xa0 \xc2\xa0邮件列表 | 是的 | 是的 |
| \xc2\xa0 \xc2\xa0论坛 | 是的 | 是的 |
| \xc2\xa0 \xc2\xa0 Github 存储库 | 是的 | 是的 |
| \xc2\xa0 \xc2\xa0 SourceForge 存储库 | 是的 | 是的 |
| 开源许可 | ||
| \xc2\xa0 \xc2\xa0 GPL | 不 | 程式 |
| \xc2\xa0 \xc2\xa0 LGPL | 是的 | 图书馆 |
| \xc2\xa0 \xc2\xa0 BSD | 是的 | 不 |
SQLWCHARs为2字节UCS2编码