Hitachi

Hitachi Advanced Data Binder AP開発ガイド


16.3.1 SQLAllocHandle

〈この項の構成〉

(1) 機能

環境,接続,ステートメント,およびディスクリプタのハンドルを割り当てます。

(2) 形式

 SQLRETURN SQLAllocHandle
 (
   SQLSMALLINT     HandleType,        /* In */
   SQLHANDLE       InputHandle,       /* In */
   SQLHANDLE     * OutputHandlePtr    /* In/Out */
 )

(3) 引数

HandleType

次のどれかのハンドルの種類を指定します。

  • SQL_HANDLE_ENV:環境ハンドル

  • SQL_HANDLE_DBC:接続ハンドル

  • SQL_HANDLE_STMT:ステートメントハンドル

  • SQL_HANDLE_DESC:ディスクリプタハンドル

InputHandle

HandleTypeパラメタの値に応じて次の入力ハンドルを指定します。

HandleType

InputHandleに指定する値

SQL_HANDLE_ENV

SQL_NULL_HANDLE

SQL_HANDLE_DBC

環境ハンドル

SQL_HANDLE_STMT

接続ハンドル

SQL_HANDLE_DESC

接続ハンドル

OutputHandlePtr

新しく割り当てられたハンドルを返すバッファへのポインタを指定します。

戻り値がSQL_SUCCESSの場合は,ハンドルの値が設定されます。SQL_ERRORの場合は,次の値が設定されます。

HandleType

OutputHandlePtrに設定される値

SQL_HANDLE_ENV

NULL

SQL_HANDLE_DBC

SQL_NULL_HDBC

SQL_HANDLE_STMT

SQL_NULL_HSTMT

SQL_HANDLE_DESC

SQL_NULL_HDESC

(4) 戻り値

SQL_SUCCESSSQL_ERROR,またはSQL_INVALID_HANDLEが返されます。

(5) SQLSTATE

この関数では次のSQLSTATEを返します。

SQLSTATE

説明

備考

返却

01000

一般警告

×

08003

接続が存在しない

接続が完了していません。

HY000

一般エラー

×

HY001

メモリ割り当てエラー

HY009

NULLポインタの不正使用

HY010

関数シーケンスエラー

接続ハンドル取得前にODBCバージョンの設定が行われていません。

HY013

メモリ管理エラー

HandleTypeSQL_HANDLE_DBCSQL_HANDLE_STMT,またはSQL_HANDLE_DESCであるが,メモリオブジェクトにアクセスできません(メモリ不足)。

×

HY014

ハンドル数の上限を超過

×

HY092

無効な属性識別子,または無効なオプション識別子

HandleTypeに指定できない値が指定されました。

HYC00

オプション機能は実装されていない

×

HYT01

接続タイムアウト終了

×

IM001

ドライバはこの関数をサポートしていない

×

(凡例)

○:HADB ODBCドライバが返すことがあるSQLSTATEです。

×:HADB ODBCドライバが返さないSQLSTATEです。

−:なし。