ワイド呼び出しをサポートする SQL Anywhere ODBC ドライバは 16 ビットの SQLWCHAR 用に構築されているため、SQLWCHAR を 32 ビット (UTF-32) の数量として定義する ODBC ドライバマネージャのバージョンは、SQL Anywhere ODBC ドライバで使用できません。このような場合に備えて ANSI 専用バージョンの SQL Anywhere ODBC ドライバが用意されています。このバージョンの ODBC ドライバでは、ワイド呼び出しインタフェース (SQLConnectW など) はサポートされていません。
ドライバの共有オブジェクト名は libdbodbcansi16_r です。ドライバのスレッド変形のみが提供されています。Mac OS X では、dylib に加え、バンドル形式 (dbodbcansi16_r.bundle) のドライバも使用できます。Real Basic などの特定のフレームワークは dylib で動作しないため、バンドルが必要になります。
通常の ODBC ドライバでは、SQLWCHAR 文字列が UTF-16 文字列として処理されます。このドライバは、iODBC などの、SQLWCHAR 文字列を UTF-32 文字列として処理する一部の ODBC ドライバマネージャでは使用できません。Unicode 対応のドライバを扱う場合、これらのドライバマネージャでは、アプリケーションからのナロー呼び出しがドライバへのワイド呼び出しに変換されます。ANSI 専用ドライバではこの動作が回避されます。このため、アプリケーションがワイド呼び出しを行わないかぎり、ANSI 専用ドライバをこのようなドライバマネージャで使用することができます。iODBC を介したワイド呼び出しや、同様のセマンティックを持つ他のドライバマネージャは、引き続きサポートされません。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2013, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0 |