次の方法で共有


JetRollback 関数

適用対象: Windows |Windows Server

JetRollback 関数

JetRollback 関数は、データベースの状態に加えられた変更を元に戻し、最後の保存ポイントに戻ります。 JetRollback は、保存ポイント中に開かれたカーソルも閉じます。 最も外側の保存ポイントが元に戻された場合、セッションはトランザクションを終了します。

    JET_ERR JET_API JetRollback(
      __in          JET_SESID sesid,
      __in          JET_GRBIT grbit
    );

パラメーター

sesid

この呼び出しに使用するセッション。

grbit

この呼び出しに使用するオプションを含むビットのグループ。これには、次の 0 個以上が含まれます。

説明

JET_bitRollbackAll

このオプションは、すべての保存ポイント中にデータベースの状態に加えられたすべての変更を元に戻すよう要求します。 その結果、セッションはトランザクションを終了します。

戻り値

この関数は、次のいずれかのリターン コードを使用して 、JET_ERR データ型を返します。 考えられる ESE エラーの詳細については、「 拡張可能ストレージ エンジン エラー 」および「 エラー処理パラメーター」を参照してください。

リターン コード

説明

JET_errSuccess

操作は正常に完了しました。

JET_errClientRequestToStopJetService

JetStopService の呼び出しの結果、セッションに関連付けられたインスタンス上のすべてのアクティビティが停止したため、操作を完了することはできません。

JET_errInstanceUnavailable

セッションに関連付けられているインスタンスで致命的なエラーが発生したため、操作を完了できません。このエラーでは、そのデータの整合性を保護するためにすべてのデータへのアクセスを取り消す必要があります。 このエラーは、Windows XP 以降のリリースでのみ返されます。

JET_errNotInitialized

セッションに関連付けられているインスタンスがまだ初期化されていないため、操作を完了できません。

JET_errNotInTransaction

指定されたセッションがトランザクション内にないため、操作は失敗しました。

JET_errRestoreInProgress

セッションに関連付けられているインスタンスで復元操作が進行中であるため、操作を完了できません。

JET_errRollbackError

致命的なエラーのため、変更をロールバックできませんでした。

JET_errSessionSharingViolation

同じセッションを複数のスレッドに同時に使用することはできません。 このエラーは、Windows XP 以降のリリースでのみ返されます。

JET_errTermInProgress

セッションに関連付けられているインスタンスがシャットダウンされているため、操作を完了できません。

成功すると、特定のセッションの現在の保存ポイント中にデータベースに加えられた変更はすべて元に戻され、その保存ポイントは終了します。 セッションの最後の保存ポイントが終了した場合、セッションはトランザクションを終了します。

失敗した場合、セッションのトランザクション状態は変更されません。 データベースの状態は変更されません。 ロールバック中のエラーは、致命的なデータベース エラーと見なされます。

注釈

特定のセッションに対する JetBeginTransaction の呼び出しごとに一致させるには、JetCommitTransaction または JetRollback を 1 回呼び出す必要があります。

ロールバック中の保存ポイント中に ( JetOpenTable を使用して) カーソルが開かれた場合、そのカーソルは閉じられます。

要件

要件

Client

Windows Vista、Windows XP、または Windows 2000 Professional が必要です。

[サーバー]

Windows Server 2008、Windows Server 2003、または Windows 2000 Server が必要です。

Header

Esent.h で宣言されています。

Library

ESENT.lib を使用します。

[DLL]

ESENT.dllが必要です。

参照

JET_ERR
JET_GRBIT
JET_SESID
JetBeginTransaction
JetCommitTransaction