• 検索結果がありません。

COBOLアプリケーションの相違点

ドキュメント内 PowerRDBconnector説明書 SQL Server編 (ページ 195-198)

第5章 エラー時の対処

D.8 COBOLアプリケーションの相違点

D.8.1 トランザクションサブルーチンの相違点

表D.12 トランザクションサブルーチンの相違点

項目 SQL Server Oracle

トランザクション開始サブルーチンの シーケンス

・ 既にトランザクションが開始されてい た場合は、エラーとなります。

・ 既にトランザクションが開始されていた 場合は、エラーとなります。

・ レコードロック獲得中に、トランザク ション開始を行ってもエラーになりま せん。

・ レコードロック獲得中に、トランザクション 開始を行うとエラーになります。

デッドロックエラー発生後の動作 ・ トランザクション確定を行うとエラー になります。

・ トランザクション確定を行ってもエラーに なりません。

D.8.2 排他制御の相違点

表D.13 トランザクション未適用時のレコードロックの相違点

項目 SQL Server Oracle

実現方法 ・ 更新可能カーソルによる1レコードのロッ ク

・ 強制的なトランザクション

1つのプログラムで、複数のファイルを 更新している場合は、すべてのファイ ルでレコードロック解放タイミングの条 件を満たした時点で、レコードロックは 解放されます。

- ・ 複数ファイルのレコードロックが重なる と、一方のファイルのレコードロックの みを解放することはできません。

レコードロックの獲得 I-Oモードのオープン

・ START文で位置付けたレコード

(注)

・ READ文で読み込んだレコード ・ READ文で読み込んだレコード

レコー ドロッ クの 解放

アクセ スモー ド

SEQUENTIAL ・ START文を実行した場合 ・ START文を実行した場合

・ 次のレコードを読み込んだ(READ)場合 ・ 次のレコードを読み込んだ(READ)場 合

- ・ 更新(REWRITE)、削除(DELETE)を 行った場合

・ EOFを検出した場合 ・ EOFを検出した場合

・ CLOSE文を実行した場合 ・ CLOSE文を実行した場合

RANDOM ・ 読込み(READ)、更新(REWRITE)、削

除(DELETE)を行った場合

・ 読 込 み(READ)、 更 新(REWRITE)、

削除(DELETE)を行った場合

・ CLOSE文を実行した場合 ・ CLOSE文を実行した場合

DYNAMIC ・ START文を実行した場合 ・ START文を実行した場合

・ 次のレコードを読み込んだ(READ)場合 ・ 次のレコードを読み込んだ(READ)場 合

- ・ 更新(REWRITE)、削除(DELETE)を 行った場合

・ EOFを検出した場合 ・ EOFを検出した場合

・ CLOSE文を実行した場合 ・ CLOSE文を実行した場合

-:対応項目なし

(注)

DYNAMICモードでオープンし、START FIRST文を実行した場合は位置付けされた先頭のレコードに対するレコードロックは獲得

されません。

表D.14 トランザクション適用時のレコードロックの相違点

項目 SQL Server Oracle

レコードロックの獲得

I-Oモード、OUTPUTモード、また はEXTENDモードのオープン

・ START文で位置付けたレコード -

・ READ文で読み込んだレコード ・ READ文で読み込んだレコード

・ トランザクション中にREWRITE文で更 新したレコード

・ トランザクション中にREWRITE文で更 新したレコード

・ トランザクション中にDELETE文で削除 したレコード

・ トランザクション中にDELETE文で削除 したレコード

・ トランザクション中にWRITE文で追加し たレコード

・ トランザクション中にWRITE文で追加し たレコード

レコードロックの解放 ・ トランザクションの確定または取消し(注) ・ トランザクションの確定または取消し デッドロック発生時 ・ エラーが発生した場合、SQL Serverの

トランザクションは自動的にロールバッ クされますが、PowerRDBconnectorのト ランザクションは継続している状態に なっています。

この場合、以下のいずれかの対処を 行ってください。

- アプリケーションを終了する。

- トランザクション取消しサブルーチ ンを実行する。

・ エラーが発生したトランザクションは、継 続されています。

-:対応項目なし

(注)

トランザクションの確定または取消し直前に、位置付けまたは読み込んだレコードのレコードロックは解放されません。

D.8.3 可変長項目の相違点

表D.15 可変長項目の相違点について

項目 SQL Server Oracle

データベース項目長がCOBOL項目 長より大きい場合

・ データを書き込むときは、COBOL項 目長の長さでデータが格納されま す。読み込むときは、COBOL項目 長の長さだけ読み取ります。

・ エラーとなります。

付録 E 32 ビット動作と 64 ビット動作の相違点

本章では、PowerRDBconnectorを32ビットのアプリケーションで使用する場合と、64ビットのアプリケーションで使用する場合との相違 点について説明します。

NetCOBOL、データベース、OSおよびIISなどの詳細な相違点については、それぞれのマニュアルを参照してください。

図E.1 32ビット動作と64ビット動作の相違点

ドキュメント内 PowerRDBconnector説明書 SQL Server編 (ページ 195-198)

関連したドキュメント