標準に準拠したアプリとドライバー

標準に準拠したアプリケーションまたはドライバーは、Open Group CAE 仕様 "データ管理: SQL コール レベル インターフェイス (CLI)" と ISO/IEC 9075-3:1995 (E) コール レベル インターフェイス (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 ドライバーでサポートされていない可能性があります。 標準に準拠したアプリケーションでこれらの機能が使用されている場合は、操作するドライバーでサポートされていることを確認する必要があります。