Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
683 views
in Technique[技术] by (71.8m points)

unix - What are the functional differences between iODBC and unixODBC?

There are two major Open Source platform independent implementation of the ODBC. It is iODBC and unixODBC.

Considering Unix as ODBC user platform and feature-wise, what are the real practical differences between these two implementations?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Just so you know I use and have contributed to unixODBC and I don't use iODBC.

Unicode support

unixODBC follows MS ODBC Driver manager and has SQLWCHARs as 2 bytes UCS2 encoded. iODBC I believe uses wchar_t (this is based on attempting to support iODBC in DBD::ODBC)

cursor library

unixODBC has one, I don't "think" iODBC has.

application support

A lot of ODBC applications support unixODBC e.g., OpenOffice and ODBC drivers from Oracle, IBM and SAP. I'm not sure about iODBC.

OS support

iODBC has always been the most used on on Macs since Apple included it (although I believe it is removed from Lion). Both can be built from source and most Linux distributions package both (although not Novell/Suse which only distributes unixODBC).

thread safety

unixODBC is thread safe and includes flags to protect handles at different levels. This did not used to be the case with iODBC (but that might have changed now).

support

Both have support forums (unixODBC has 3) although I'd say the unixODBC ones are far more active (I'm on both).

Licensing

unixODBC is GPL and LGPL. iODBC is LGPL/BSD

In practice there is not a lot of difference but I think you'll find unixODBC is more widely used.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...