16.11.4 SQLEndTran
(1) 機能
接続に関連づけられたすべてのステートメント上でのアクティブな処理に対して,コミット処理またはロールバック処理を要求します。
(2) 形式
SQLRETURN SQLEndTran ( SQLSMALLINT HandleType, /* In */ SQLHANDLE Handle, /* In */ SQLSMALLINT CompletionType /* In */ )
(3) 引数
- HandleType:
-
次のハンドルの種類を指定します。
-
SQL_HANDLE_DBC:接続ハンドル
-
- Handle:
-
接続ハンドルを指定します。
この関数を実行する前にSQLAllocHandleの*OutputHandlePtrで出力された値を指定します。
- CompletionType :
-
次のどちらかの処理を指定します。
-
SQL_COMMIT
コミット処理
-
SQL_ROLLBACK
ロールバック処理
-
(4) 戻り値
SQL_SUCCESS,SQL_SUCCESS_WITH_INFO,SQL_ERROR,またはSQL_INVALID_HANDLEが返されます。
(5) SQLSTATE
この関数では次のSQLSTATEを返します。
SQLSTATE |
説明 |
備考 |
返却 |
---|---|---|---|
01000 |
一般警告 |
− |
× |
08003 |
接続が存在しない |
○ |
|
08007 |
トランザクション時の接続失敗 |
× |
|
25S01 |
トランザクション状態が不明 |
× |
|
25S02 |
トランザクションがまだアクティブである |
× |
|
25S03 |
トランザクションがロールバックされた |
× |
|
40001 |
直列化の失敗 |
× |
|
40002 |
整合性の不一致 |
× |
|
HY000 |
一般エラー |
× |
|
HY001 |
メモリ割り当てエラー |
× |
|
HY008 |
動作がキャンセルされた |
× |
|
HY010 |
関数シーケンスエラー |
○ |
|
HY012 |
無効なトランザクション処理コード |
× |
|
HY013 |
メモリ管理エラー |
× |
|
HY092 |
無効な属性識別子,または無効なオプション識別子 |
HandleTypeまたはCompletionTypeに無効な値が設定されました。 |
○ |
HY115 |
非同期実行中の接続を含む環境を指定した |
− |
× |
HYC00 |
オプション機能は実装されていない |
× |
|
HYT01 |
接続タイムアウト終了 |
× |
|
IM001 |
ドライバはこの関数をサポートしていない |
× |
|
IM017 |
非同期ポーリングが不正 |
× |
|
IM018 |
非同期実行が未完了 |
× |
- (凡例)
-
○:HADB ODBCドライバが返すことがあるSQLSTATEです。
×:HADB ODBCドライバが返さないSQLSTATEです。
−:なし。
(6) 注意事項
次のハンドルの種類はサポートしていません。
-
SQL_HANDLE_ENV:環境ハンドル
また,次のハンドルの種類を指定した場合,SQL_INVALID_HANDLEが返ることがあります。
-
SQL_HANDLE_STMT:ステートメントハンドル
-
SQL_HANDLE_DESC:ディスクリプタハンドル