Comments (1)
I posted the following to StackOverflow a few years ago. So far as I know, it's all still accurate (modulo "latest version" details).
iODBC and unixOBDC are basically API equivalent, both being cross-platform implementations of Microsoft's ODBC standard. iODBC's flexible Unicode support includes UCS-2, UTF-8, UCS-4. iODBC libraries are bundled into macOS Panther (10.3.0) through Big Sur (11.2.x), and may be built and/or installed on AIX, Solaris, HP-UX, any Linux distribution, *BSD, other Unix-like OS, and more. iODBC has been thread safe for a very long time, and is actively maintained and supported by OpenLink Software (my employer).
The table below covers the most common comparative questions (is there something I should add?), and is based on iODBC 3.52.14, as of February 2021 (reports version 03.52.1421.0217
), and unixODBC 2.3.9, as of September 2020.
For a somewhat more detailed comparison, and a much more fancy and detailed table, see this spreadsheet
feature | iODBC | UnixODBC |
---|---|---|
Unicode support | ||
UCS-2 | YES | YES |
UCS-4 (a/k/a UTF-32) | YES | NO |
UTF-08 (a/k/a UTF-8) | YES | NO |
UTF-16 | YES | YES |
UTF-32 (a/k/a UCS-4) | YES | NO |
Supports drivers and apps developed using other SDKs |
||
Supports drivers developed using iODBC SDK | YES | NO |
Supports apps developed using iODBC SDK | YES | NO |
Supports drivers developed using unixODBC SDK | YES | YES |
Supports apps developed using unixODBC SDK | YES | YES |
Supports drivers developed using DataDirect SDK | YES | NO |
Supports apps developed using DataDirect SDK | YES | NO |
OS default DM | ||
macOS | YES | NO |
Linux | partial | partial |
Unix-like | partial | partial |
OS support | ||
macOS | YES | partial |
Linux | YES | YES |
Unix-like | YES | YES |
User-friendly native GUI Administrator | ||
macOS | YES | Qt-based |
Linux | GTK-based and HTML-based | Qt-based |
Unix-like | GTK-based and HTML-based | Qt-based |
Thread Safe | YES | YES |
Support | ||
Mailing List(s) | YES | YES |
Forum(s) | YES | YES |
Github repository | YES | YES |
SourceForge repository | YES | YES |
Open Source Licensing | ||
GPL | NO | programs |
LGPL | YES | libraries |
BSD | YES | NO |
Notes
Unicode a/k/a Wide Characters
- iODBC supports and translates between all of UCS-2, UCS-4, UTF-8, UTF-16, UTF-32
- unixODBC follows MDAC, and
SQLWCHAR
s are 2 bytes UCS2 encoded
SDK lock-in
- iODBC supports applications and drivers developed using unixODBC SDK and DataDirect SDK as well as those developed using iODBC SDK
- unixODBC only supports applications and drivers developed using unixODBC SDK
from iodbc.
Related Issues (20)
- 3.52.15 mangles input parameter data when using parameter arrays HOT 6
- 3.52.15 incorrectly overriding SQL_DEFAULT_PARAM length indicator
- 3.52.15 DM truncating SQL_C_WCHAR parameter value when bound w/ BufferLength=0 & length indicator of SQL_NTS HOT 10
- DM returns '[iODBC][Driver Manager]Memory allocation error' if SQLDescribeCol is called w/ BufferLength=0 on a unicode driver HOT 3
- iODBC-SDK-3.52.15-macOS10 installer not working on macOS 12 HOT 6
- Memory leak if too many diagnostics are returned HOT 1
- Info.c:740: possible missing comma ?
- reserved identifier violation
- Completion of error handling
- Remove unnecessary null pointer checks
- iODBC on AIX HOT 1
- Silent truncation of 'long' diagnostic messages in SQLGetDiagRec HOT 2
- Crash in SQLBindParameter when driver manager tracing is enabled & a bind offset is in use
- iODBC loses any diagnostics posted during SQLDriverConnect(W)
- why 'php' is loading libiodbc.so.2 ? HOT 4
- calls to SQLBindParameter causes libiodbc to return `SQL_INVALID_HANDLE` on Big Sur HOT 8
- Unable to connect to SQLite using SQLiteODBC on MacBook Air M1 HOT 24
- Please add cmake based build script HOT 3
- SQLGetData doesn't support SQL_ARD_TYPE HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from iodbc.