次の方法で共有


標準準拠のアプリケーションとドライバー

標準準拠のアプリケーションまたはドライバーは、Open Group CAE 仕様 "データ管理: SQL Call-Level インターフェイス (CLI)" と ISO/IEC 9075-3:1995 (E) Call-Level インターフェイス (SQL/CLI) に準拠しているアプリケーションです。

ODBC 3.x では、次の機能が保証されます。

  • Open Group および ISO CLI 仕様に記述されたアプリケーションは、ODBC 3.x ヘッダー ファイルを使用してコンパイルされ、ODBC 3.x ライブラリとリンクされている場合、および ODBC 3.x ドライバー マネージャーを使用してドライバーにアクセスできる場合に、ODBC 3.x ドライバーまたは標準準拠ドライバーで動作します。

  • Open Group および ISO CLI 仕様に書き込まれたドライバーは、ODBC 3.x ヘッダー ファイルを使用してコンパイルされ、ODBC 3.x ライブラリとリンクされている場合、およびアプリケーションが ODBC 3.x ドライバー マネージャーを使用してドライバーにアクセスできる場合に、ODBC 3.x アプリケーションまたは標準準拠アプリケーションで動作します。

標準準拠のアプリケーションとドライバーは、ODBC_STDコンパイル フラグを使用してコンパイルされます。

標準に準拠したアプリケーションは、次の動作を示します。

  • 標準準拠アプリケーションが SQLAllocEnv を呼び出す場合 ( SQLAllocEnv は Open Group および ISO CLI の有効な関数であるために発生する可能性があります)、呼び出しはコンパイル時に SQLAllocHandleStd にマップされます。 その結果、アプリケーションは実行時に SQLAllocHandleStd を呼び出します。 この呼び出しの処理中に、ドライバー マネージャーは、SQL_ATTR_ODBC_VERSION環境属性をSQL_OV_ODBC3に設定します。 SQLAllocHandleStd の呼び出しは、SQL_HANDLE_ENVの HandleType を使用した SQLAllocHandle の呼び出しと、SQL_ATTR_ODBC_VERSIONを SQL_OV_ODBC3 に設定する SQLSetEnvAttr の呼び出しと同じです。

  • 標準準拠アプリケーションが SQLBindParam を呼び出す場合 (これは、 SQLBindParam が Open Group および ISO CLI の有効な関数であるために発生する可能性があります)、ODBC 3.x ドライバー マネージャーは 、SQLBindParameter の同等の呼び出しに呼び出しをマップします。 (「付録 G: 下位互換性のためのドライバー ガイドライン」の 「SQLBindParam マッピング 」を参照してください)。

  • ISO CLI に合わせて、ODBC 3.x ヘッダー ファイルには 、SQLGetInfo の呼び出しで使用される情報型のエイリアスが含まれています。 標準準拠アプリケーションでは、ODBC 3.x 情報型の代わりにこれらのエイリアスを使用できます。 詳細については、次のトピック「 ヘッダー ファイル」を参照してください。

  • 標準に準拠したアプリケーションでは、サポートされているすべての機能が動作するドライバーでサポートされていることを確認する必要があります。 SQL_ATTR_CURSOR_SCROLLABLEステートメント属性をSQL_SCROLLABLEに設定し、SQL_ATTR_CURSOR_SENSITIVITY ステートメント属性を SQL_INSENSITIVE または SQL_SENSITIVE に設定することは、標準では省略可能な機能として使用できますが、ODBC 3.x Core レベルには含まれていないため、すべての ODBC 3.x ドライバーでサポートされていない可能性があります。 標準に準拠したアプリケーションでこれらの機能が使用されている場合は、操作するドライバーでサポートされていることを確認する必要があります。