2002年12月
マジックソフトウェア・ジャパン 株式会社

 

DB2 UDB V7.2 データベースゲートウェイ

Ver9.3-9.3a 追加情報

Magic eBusiness Platform Ver9.30

 

 

 

 

 

本文書には、Magic eBusiness Platform(以下 Magic と表記)DB2 UDB V7.2 データベースゲートウェイ Ver9.3-9.3aとして提供されたプログラム(MGDB2.DLL)に関して、マニュアルの記載事項以外の追加情報が記述されています。
なお、文書中に記述されている"本プログラム"とは、"MGDB2.DLL"を示します。

 

 

使用条件

動作環境及び注意事項

制限事項及び留意事項

物理トランザクションモードでDB2 UDBのロック機構のみを使用するときの注意事項

データベース情報での有効なパラメータ一覧

 

 

 

 

 

使用条件 (Top) 

  • 本プログラムを購入本数以上複製すること、または逆コンパイル・逆アセンブルすること、もしくは再使用許諾・賃貸・貸与及び譲渡することはできません。

  • 本プログラムは、特定物として現存するままの状態で提供され、マジックソフトウェア・ジャパン株式会社及び Magic Software Enterprises Ltd. は、本プログラムの瑕疵及びその使用結果について一切保証もせず、損害賠償も負いません。

  • 本プログラムの著作権は、Magic Software Enterprises Ltd. にあります。

 

 

 

 

 

 

動作環境及び注意事項 (Top)

  • Magic Ver9.30J SP3a以上の動作する機種および環境が必要です。

  • Magic Ver9.30J SP3a で動作確認しています。

  • 以下の環境で動作確認を行っています。
    その他の環境については、下記のものと互換性のある場合のみ使用可能です。

 
サーバOS Microsoft Windows 2000 Server SP2
クライアントOS Microsoft Windows 2000 Professional SP2
Microsoft Windows NT4.0 SP6a
DBMS DB2 UDB Enterprise Edition V7.2 (7.2.4)

 

 

 

 

 

 

 

制限事項及び留意事項 (Top)

  • Magicのテーブルリポジトリでは、テーブルや索引を定義する際に、表スペースを指定することはできません。表スペースを指定する必要がある場合、DB2 UDBのCLP等で定義した後、Magicで定義取得して運用してください。

  • SQLコマンドでストアドプロシージャの呼び出しを行なう場合、パラメータの受け渡しを必要とするプロシージャを呼び出すことはできません。パラメータのないプロシージャを呼び出す場合、"CALL プロシージャ名"のようにプロシージャ名の後に"()"を付けずに記述してください。

  • DB2 UDBのLONGVARCHARタイプのカラムは、Magicの範囲、位置付けで使用することはできません。また、DB SQL Where句やMagic SQL Where句でも、IS NULLとLIKE以外の述部に使用することはできません。これは、DB2 UDBの仕様です。

  • 外部キーとして参照されているテーブルのDBインデックス名を変更し、上書き確認で「はい」を選択すると、参照元の外部キー定義が削除されます。

  • プライマリキーとして設定されたインデックスの、セグメント内のカラムは、降順と指定しても実際に作成される索引では昇順になります。

  • IDENTITY列を使用するには、DB2 UDB側であらかじめIDENTITY列を定義したテーブルを作成し、それをMagicで定義取得した後、IDENTITY列が定義されたカラムの、[カラム特性]のSQLの[タイプ]をINTEGER IDENTITYに修正します。

  • DB2コネクトによるホスト上のDB2に対するアクセスは、サポートしておりません。

 

 

 

 

 

物理トランザクションモードでDB2 UDBのロック機構のみを使用するときの注意事項 (Top)

  • DB2 UDBのデータベースのLOCKTIMEOUTパラメータは、デフォルトでは-1となっており、これは、ロックが解除されるまでずっと待つという設定です。この状態では、Magicのロック待ち状態のオンラインタスクに、ロック解除待ちのメッセージが表示されず、黙り状態になります。また、イベントハンドラによるロック状態の取得もできません。これを回避するには、データベースのLOCKTIMEOUTを、-1以外の適切な値に設定する必要があります。

  • レコード前処理でトランザクションを設定しているタスクで、テーブルロックの状態のとき、他のユーザーがロック待ち状態にあるとします。その場合、ロック側でレコードを移動すると、一時的にロックが解除されるため、ロック待ち状態のユーザーがロックを取得できてしまいます。これを回避するには、ロック側のトランザクションをタスクレベルにするか、データベースのLOCKTIMEOUTを0に設定してください。

  • Magicにおけるテーブルアクセス規制は以下のようになります。下表は、処理A から先にアクセスされたテーブルに対して、処理Bが後からアクセスした場合のアクセス規制を示しています。

 

処理A

処理B アクセスモード 読込(R)  書出(W)
  共有 読込(R) 書出(W) なし(N) 読込(R) 書出(W) なし(N)
読込(R) 読込(R)     T- 注1     T-注1
書出(W)     注2     注2
なし(N) T- 注3 T- 注1 T- 注1 注3 T-注1
書出(W) 読込(R)     T- 注1     T-注1
書出(W)     注2     注2
なし(N) T-注1 注3 T-注1 T-注1 注3 T-注1

    T-: テーブルアクセスに制限があります(テーブルがオープンできません)。

    注1: 処理Aが、レコードレベルのトランザクションで、データベースのLOCKTIMEOUTが0以外の場合、処理Aでレコードを移動すると処理Bがロックを取得します。

    注2: 分離レベルが1以上に設定されている場合、T-となります。

    注3: 分離レベルが2以上に設定されており、かつトランザクションがタスクレベルの場合、T-となります。

 

 

 

 

 

データベース情報での有効なパラメータ一覧 (Top)

[設定]/[データベース]/[データベース特性]

  • SQL_ISOLATION_LEVEL=UR | CS | RS | RR
    分離レベルを設定します。現在使用されている分離レベルを変更するには、DBDISCNT関数を使って、セッションを切断する必要があります。分離レベルの設定は、まず、ここでの設定値が検索され、次に[設定]/[DBMS]/[DBMS特性]での値が検索されます。有効な値が見つからない場合、DB2 UDBのデフォルトであるCSが設定されます。

 

 

以上