分散トランザクション処理機能 OpenTP1 プログラム作成リファレンス C言語編
名称
形式
ANSI C ,C++の形式
#include <dctam.h> DCLONG dc_tam_open(char *tblname,DCLONG flags)
K&R版 C の形式
#include <dctam.h> DCLONG dc_tam_open(tblname,flags) char *tblname; DCLONG flags;
機能
TAMテーブルをオープンします。dc_tam_open関数は,トランザクション内でもトランザクション外でも呼び出せます。
トランザクション内で呼び出して,排他種別にテーブル排他を設定した場合,更新排他でテーブル排他を確保します。
dc_tam_open関数がエラーリターンした場合は,この関数内で確保した資源はすべて解放して,関数を呼び出す前の状態に戻ります。
UAPで値を設定する引数
●tblname
オープンするTAMテーブル名を設定します。TAMテーブル名は32文字以内で設定して,文字列の最後にはヌル文字を付けてください。
●flags
テーブル排他を掛けるかレコード排他を掛けるかを,次の形式で設定します。
〔{DCTAM_TBL_EXCLUSIVE〔|{DCTAM_WAIT|DCTAM_NOWAIT}〕|DCTAM_REC_EXCLUSIVE}〕
このフラグの設定を省略した場合は,DCTAM_NOWAITが仮定されます。
flagsに設定する値と,設定内容の関係について,次に示します。
| フラグ1※1 | フラグ2※2 | flagsの設定内容 |
|---|---|---|
| TBL_EXCLUSIVE | WAIT | テーブル排他,排他エラー時は解除待ち |
| NOWAIT | テーブル排他,排他エラー時はエラーリターン | |
| REC_EXCLUSIVE | × | レコード排他 |
リターン値
| リターン値 | リターン値(数値) | 意味 |
|---|---|---|
| 正の整数 | テーブル記述子を示します。 | |
| DCTAMER_PARAM_TBL | -1701 | tblnameに設定した値が間違っています。 |
| DCTAMER_PARAM_FLG | -1708 | flagsに設定した値が間違っています。 |
| DCTAMER_NOTTAM | -1709 | tblnameに設定したテーブルはTAMテーブルではありません。 |
| DCTAMER_UNDEF | -1710 | TAMテーブルが定義されていません。 |
| DCTAMER_TAMEND | -1720 | TAMサービスが終了中です。 |
| DCTAMER_PROTO | -1721 | TAMテーブルへアクセスする順序が間違っています。 |
| UAPにリンケージしているトランザクション制御用オブジェクトファイルのリソースマネジャ登録が間違っています。 または,UAPにトランザクション制御用オブジェクトファイルをリンケージしていません。 |
||
| 関数を呼び出したUAPのユーザサービス定義に,トランザクション属性なし(atomic_update=N)を指定しています。 | ||
| DCTAMER_NOLOAD | -1724 | TAMテーブルがロードされていません。 |
| DCTAMER_OPENED | -1725 | TAMテーブルがオープン済みです。 |
| DCTAMER_LOGHLD | -1727 | TAMテーブルが論理閉塞状態です。 |
| DCTAMER_OBSHLD | -1728 | TAMテーブルが障害閉塞状態です。 |
| DCTAMER_LOCK | -1736 | 排他エラーが起こりました。flagsにDCTAM_WAITを設定した場合,ロックサービス定義で指定した待ち時間のタイムアウトのため,資源を確保できませんでした。 |
| DCTAMER_DLOCK | -1737 | デッドロックが起こりました。 |
| DCTAMER_TBLVR | -1760 | UAPが,現在稼働しているTAMテーブルでは動作できないバージョンのTAMライブラリと結合されています。 |
| DCTAMER_FLSVR | -1761 | UAPが,現在稼働しているOpenTP1ファイルサービスでは動作できないバージョンのTAMライブラリと結合されています。 |
| DCTAMER_TAMVR | -1762 | UAPが,現在稼働しているTAMサービスでは動作できないバージョンのTAMライブラリと結合されています。 |
| DCTAMER_RECOBS | -1764 | レコードが破壊されています。 |
| DCTAMER_TRNNUM | -1765 | TAMサービスで管理できるトランザクション数を超えています。 |
| DCTAMER_OPENNUM | -1766 | キャラクタ型スペシャルファイルのオープン数の制限値を超えています。 |
| DCTAMER_ACCESSS | -1767 | スペシャルファイルに対するアクセス権がありません。 |
| DCTAMER_ACCESSF | -1768 | TAMファイルに対するアクセス権がありません。 |
| DCTAMER_MEMORY | -1769 | メモリが不足しました。 |
| DCTAMER_IO | -1770 | 入出力エラーが起こりました。 |
| DCTAMER_TMERR | -1771 | トランザクションサービスでエラーが起こりました。 |
| DCTAMER_NO_ACL | -1772 | オープンしようとしたTAMファイルは,セキュリティ機能で保護されています。該当するファイルに対するACLがありません。 |
All Rights Reserved. Copyright (C) 2006, 2012, Hitachi, Ltd.