36

ODBCの 2 つの主要なオープン ソース プラットフォームに依存しない実装があります。iODBCunixODBCです。

Unix を ODBC ユーザー プラットフォームおよび機能として考えると、これら 2 つの実装の実際の実際の違いは何ですか?

4

2 に答える 2

40

私が unixODBC を使用しており、これに貢献しており、iODBC は使用していません。

ユニコードのサポート

unixODBC は MS ODBC ドライバー マネージャーに従い、2 バイトの UCS2 でエンコードされた SQLWCHAR を持ちます。iODBC wchar_t を使用していると思われます (これは、DBD::ODBC で iODBC をサポートしようとしたことに基づいています)

カーソル ライブラリ

unixODBC には 1 つあり、iODBC にはあるとは「思いません」。

アプリケーションのサポート

Oracle、IBM、SAP の OpenOffice や ODBC ドライバなど、多くの ODBC アプリケーションが unixODBC をサポートしています。iODBCについてはよくわかりません。

OS サポート

iODBC は、Apple に組み込まれて以来、常に Mac で最も使用されてきました (ただし、Lion からは削除されたと思います)。どちらもソースとほとんどの Linux ディストリビューション パッケージからビルドできます (ただし、unixODBC のみを配布する Novell/Suse ではありません)。

スレッドセーフ

unixODBC はスレッド セーフであり、さまざまなレベルでハンドルを保護するためのフラグが含まれています。これは iODBC の場合には当てはまりませんでした (ただし、現在は変更されている可能性があります)。

サポート

どちらにもサポート フォーラムがあります (unixODBC には 3 つあります) が、unixODBC の方がはるかに活発です (私は両方に参加しています)。

ライセンス

unixODBC は GPL および LGPL です。iODBC は LGPL/BSD です

実際には大きな違いはありませんが、unixODBC の方が広く使用されていることがわかると思います。

于 2011-09-26T08:33:17.647 に答える