ttXactIdRollback

説明

指定したトランザクションIDによって示されたトランザクションをロールバックします。ttXactIdRollbackの対象ユーザーは、ttXactAdminユーティリティです。ただし、他のスレッドの処理をロールバックできるスレッドを持つプログラムでは、処理を開始する前にそれらのスレッドでttXactIdGet組込みプロシージャをコールし、トランザクションをロールバックするスレッドによって認識される場所にその結果を配置する必要があります。(『Oracle TimesTen In-Memory Databaseリファレンス』ttXactIdGetを参照してください。)

必要な権限

ADMIN

構文

ttXactIdRollback (ttUtilHandle handle, const char* connStr,
                  const char* xactId)

パラメータ

パラメータ 説明

handle

ttUtilHandle

ttUtilAllocEnvを使用して割り当てられるTimesTenユーティリティ・ライブラリ環境ハンドルを指定します。

connStr

const char**

ロールバックするトランザクションが含まれているデータベースの接続文字列を指定します。

xactId

const char*

ロールバックするトランザクションのトランザクションIDを示します。

この例では、payrollというデータベースでIDが3.4567のトランザクションをロールバックします。

char            errBuff [256];
int             rc;
unsigned int    retCode;
ttUtilErrType   retType;
ttUtilHandle    utilHandle;
...
rc = ttXactIdRollback (utilHandle, "DSN=payroll", "3.4567");
if (rc == TTUTIL_SUCCESS)
  printf ("Transaction ID successfully rolled back.\n");
else if (rc == TTUTIL_INVALID_HANDLE)
  printf ("TimesTen utility library handle is invalid.\n");
else
  while ((rc = ttUtilGetError (utilHandle, 0, &retCode,
  &retType, errBuff, sizeof (errBuff), NULL)) != TTUTIL_NODATA)
   {
  ...
}