5.7 ODBC関数の非同期実行
ODBC関数を実行するときは,通常ODBCドライバはODBC関数を同期実行します。このときODBCドライバは,関数の呼び出しが終了するまで,制御をアプリケーションに返しません。
アプリケーションの処理の効率を上げるため,一部のODBC関数は,処理の終了を待たないでアプリケーションに制御を戻せます。このようなODBC関数の実行方法を非同期実行といいます。
ODBCの規約で非同期実行できる関数とDBPARTNER ODBC Driverで非同期実行できるかどうかを表5-28に示します。
ODBCの規約で非同期実行できる関数名 |
DBPARTNER ODBC Driverで非同期実行できるかどうか |
---|---|
SQLColAttributes |
× |
SQLColumnPrivileges |
○ |
SQLColumns |
○ |
SQLDescribeCol |
× |
SQLDescribeParam |
× |
SQLExecDirect |
○ |
SQLExecute |
○ |
SQLFetch |
○ |
SQLForeignKeys |
× |
SQLGetData |
× |
SQLGetTypeInfo |
× |
SQLMoreResults |
× |
SQLNumParams |
× |
SQLNumResultCols |
× |
SQLParamData |
○ |
SQLPrepare |
○ |
SQLPrimaryKeys |
○ |
SQLPutData |
× |
SQLSpecialColumns |
× |
SQLStatistics |
○ |
SQLTablePrivileges |
○ |
SQLTables |
○ |
- (凡例)
-
○:DBPARTNER ODBC Driverで非同期実行できます。
×:DBPARTNER ODBC Driverで非同期実行できません。
- 非同期実行のキャンセルと環境定義の非同期キャンセル機能との関係(DBPARTNER/Client32でODBCドライバを使うときの注意)
-
[DBPARTNER ODBC Driver for DABroker−環境定義−]ダイアログボックスの[非同期キャンセル機能を使用する]チェックボックスの指定は,DBPARTNER/Client32を使うときのオプションです。これは,ODBC規約の正式な非同期キャンセル機能ではありません。したがって,このチェックボックスの指定は,ODBC関数を非同期実行するときは無効になります。