EssRemoveLocks

現在ユーザーがロックしているデータベースのデータ・ブロックのロックをすべて解除します。

 

構文

            ESS_FUNC_M EssRemoveLocks (
            hCtx, AppName, DbName, LoginId
            );
         
パラメータデータ型説明

hCtx

ESS_HCTX_T

APIコンテキスト・ハンドル。

AppName

ESS_STR_T

アプリケーション名。

DbName

ESS_STR_T

データベース名。

LoginId

ESS_LOGINID_T

解除するロックを保持しているユーザー・ログインのID。

備考

戻り値

なし。

アクセス

この関数を使用するには、呼出し元が、指定したデータベースに対してデータベース・デザイナ権限(ESS_PRIV_DBDESIGN)を持っている必要があります。

         ESS_FUNC_M
ESS_RemoveLocks (ESS_HCTX_T       hCtx,
                 ESS_HINST_T      hInst
                )
{
   ESS_FUNC_M        sts = ESS_STS_NOERR;
   
   ESS_USHORT_T     Count;
   ESS_PLOCKINFO_T  plockinfo = NULL;
   ESS_PLOCKINFO_T  plinfo;
   ESS_USHORT_T     ind;
   ESS_SHORT_T      Item;
   ESS_STR_T        AppName;
   ESS_STR_T        DbName;
   AppName = "Sample";
   DbName  = "Basic";
for (ind = 0; ind < Count; ind++)
      {
         plinfo = plockinfo + ind;
printf ("%-2d  %-15s  %-12ld  %-5d        %ld\r\n",
        ind, plinfo->UserName, plinfo->LoginId,
        plinfo->nLocks, plinfo->Time);
      }
      printf ("\r\n");
      /***********************************
      * Chooser Lock List Item to Remove *
      ************************************/
      Item = 1;      
   }
   else
   {
printf ("\r\nExclusive Lock List on %s:%s is empty\r\n\r\n",
AppName, DbName);
      goto exit;
   }
   if (!sts)
   {
      if ((Item >= 0) && (Item < Count))
      {
         plinfo = plockinfo + Item;
         sts = EssRemoveLocks (hCtx, AppName,
               DbName, plinfo->LoginId);
      }
   }
exit:
   if (plockinfo)
      EssFree (hInst, plockinfo);
return (sts);
}
      

関連トピック

  • EssListLocks