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_SUCCESS,SQL_ERROR,またはSQL_INVALID_HANDLEが返されます。
(5) SQLSTATE
この関数では次のSQLSTATEを返します。
SQLSTATE |
説明 |
備考 |
返却 |
---|---|---|---|
01000 |
一般警告 |
− |
× |
08003 |
接続が存在しない |
接続が完了していません。 |
○ |
HY000 |
一般エラー |
− |
× |
HY001 |
メモリ割り当てエラー |
○ |
|
HY009 |
NULLポインタの不正使用 |
○ |
|
HY010 |
関数シーケンスエラー |
接続ハンドル取得前にODBCバージョンの設定が行われていません。 |
○ |
HY013 |
メモリ管理エラー |
HandleTypeがSQL_HANDLE_DBC,SQL_HANDLE_STMT,またはSQL_HANDLE_DESCであるが,メモリオブジェクトにアクセスできません(メモリ不足)。 |
× |
HY014 |
ハンドル数の上限を超過 |
− |
× |
HY092 |
無効な属性識別子,または無効なオプション識別子 |
HandleTypeに指定できない値が指定されました。 |
○ |
HYC00 |
オプション機能は実装されていない |
− |
× |
HYT01 |
接続タイムアウト終了 |
× |
|
IM001 |
ドライバはこの関数をサポートしていない |
× |
- (凡例)
-
○:HADB ODBCドライバが返すことがあるSQLSTATEです。
×:HADB ODBCドライバが返さないSQLSTATEです。
−:なし。